diff --git a/src/applications/differential/controller/DifferentialRevisionViewController.php b/src/applications/differential/controller/DifferentialRevisionViewController.php index 5f93b1b0ad..d48f6cc267 100644 --- a/src/applications/differential/controller/DifferentialRevisionViewController.php +++ b/src/applications/differential/controller/DifferentialRevisionViewController.php @@ -837,9 +837,7 @@ final class DifferentialRevisionViewController extends DifferentialController { $viewer = $this->getViewer(); $header = id(new PHUIHeaderView()) - ->setHeader(pht('Similar Open Revisions')) - ->setSubheader( - pht('Recently updated open revisions affecting the same files.')); + ->setHeader(pht('Recent Similar Open Revisions')); $view = id(new DifferentialRevisionListView()) ->setHeader($header) diff --git a/src/applications/differential/view/DifferentialDiffTableOfContentsView.php b/src/applications/differential/view/DifferentialDiffTableOfContentsView.php index 94b9907ecb..390cf7727d 100644 --- a/src/applications/differential/view/DifferentialDiffTableOfContentsView.php +++ b/src/applications/differential/view/DifferentialDiffTableOfContentsView.php @@ -251,8 +251,8 @@ final class DifferentialDiffTableOfContentsView extends AphrontView { return id(new PHUIObjectBoxView()) ->setHeaderText(pht('Table of Contents')) + ->setTable($table) ->appendChild($anchor) - ->appendChild($table) ->appendChild($buttons); } diff --git a/src/applications/differential/view/DifferentialLocalCommitsView.php b/src/applications/differential/view/DifferentialLocalCommitsView.php index ab83016e2a..4da850539d 100644 --- a/src/applications/differential/view/DifferentialLocalCommitsView.php +++ b/src/applications/differential/view/DifferentialLocalCommitsView.php @@ -130,7 +130,7 @@ final class DifferentialLocalCommitsView extends AphrontView { return id(new PHUIObjectBoxView()) ->setHeaderText(pht('Local Commits')) - ->appendChild($table); + ->setTable($table); } private static function formatCommit($commit) { diff --git a/src/applications/diffusion/controller/DiffusionBranchTableController.php b/src/applications/diffusion/controller/DiffusionBranchTableController.php index 4f0c494110..e0bec16ce7 100644 --- a/src/applications/diffusion/controller/DiffusionBranchTableController.php +++ b/src/applications/diffusion/controller/DiffusionBranchTableController.php @@ -47,7 +47,7 @@ final class DiffusionBranchTableController extends DiffusionController { $panel = id(new PHUIObjectBoxView()) ->setHeaderText(pht('Branches')) - ->appendChild($view); + ->setTable($view); $content = $panel; } diff --git a/src/applications/diffusion/controller/DiffusionBrowseDirectoryController.php b/src/applications/diffusion/controller/DiffusionBrowseDirectoryController.php index 833e108648..8ddb055c98 100644 --- a/src/applications/diffusion/controller/DiffusionBrowseDirectoryController.php +++ b/src/applications/diffusion/controller/DiffusionBrowseDirectoryController.php @@ -59,7 +59,7 @@ final class DiffusionBrowseDirectoryController $browse_panel = new PHUIObjectBoxView(); $browse_panel->setHeaderText($drequest->getPath(), '/'); - $browse_panel->appendChild($browse_table); + $browse_panel->setTable($browse_table); $content[] = $browse_panel; } diff --git a/src/applications/diffusion/controller/DiffusionBrowseSearchController.php b/src/applications/diffusion/controller/DiffusionBrowseSearchController.php index ac0f74e79e..62487aa9d1 100644 --- a/src/applications/diffusion/controller/DiffusionBrowseSearchController.php +++ b/src/applications/diffusion/controller/DiffusionBrowseSearchController.php @@ -103,7 +103,7 @@ final class DiffusionBrowseSearchController extends DiffusionBrowseController { $box = id(new PHUIObjectBoxView()) ->setHeaderText($header) - ->appendChild($table); + ->setTable($table); $pager_box = id(new PHUIBoxView()) ->addMargin(PHUI::MARGIN_LARGE) diff --git a/src/applications/diffusion/controller/DiffusionCommitController.php b/src/applications/diffusion/controller/DiffusionCommitController.php index 1126cb659d..de18fa91ed 100644 --- a/src/applications/diffusion/controller/DiffusionCommitController.php +++ b/src/applications/diffusion/controller/DiffusionCommitController.php @@ -261,7 +261,7 @@ final class DiffusionCommitController extends DiffusionController { $header->addActionLink($button); } - $change_panel->appendChild($change_table); + $change_panel->setTable($change_table); $change_panel->setHeader($header); $content[] = $change_panel; @@ -918,7 +918,7 @@ final class DiffusionCommitController extends DiffusionController { $panel = new PHUIObjectBoxView(); $panel->setHeaderText(pht('Merged Changes')); - $panel->appendChild($history_table); + $panel->setTable($history_table); if ($caption) { $panel->setInfoView($caption); } diff --git a/src/applications/diffusion/controller/DiffusionExternalController.php b/src/applications/diffusion/controller/DiffusionExternalController.php index c48553842f..8a12e32c2c 100644 --- a/src/applications/diffusion/controller/DiffusionExternalController.php +++ b/src/applications/diffusion/controller/DiffusionExternalController.php @@ -132,7 +132,7 @@ final class DiffusionExternalController extends DiffusionController { $content = new PHUIObjectBoxView(); $content->setHeaderText(pht('Multiple Matching Commits')); $content->setInfoView($caption); - $content->appendChild($table); + $content->setTable($table); } return $this->buildApplicationPage( diff --git a/src/applications/diffusion/controller/DiffusionHistoryController.php b/src/applications/diffusion/controller/DiffusionHistoryController.php index 36667c5dfe..1b0d122331 100644 --- a/src/applications/diffusion/controller/DiffusionHistoryController.php +++ b/src/applications/diffusion/controller/DiffusionHistoryController.php @@ -59,7 +59,7 @@ final class DiffusionHistoryController extends DiffusionController { $history_panel = new PHUIObjectBoxView(); $history_panel->setHeaderText(pht('History')); - $history_panel->appendChild($history_table); + $history_panel->setTable($history_table); $content[] = $history_panel; diff --git a/src/applications/diffusion/controller/DiffusionLintController.php b/src/applications/diffusion/controller/DiffusionLintController.php index 43dfdedaee..18ebe7fc1d 100644 --- a/src/applications/diffusion/controller/DiffusionLintController.php +++ b/src/applications/diffusion/controller/DiffusionLintController.php @@ -122,7 +122,7 @@ final class DiffusionLintController extends DiffusionController { $content[] = id(new PHUIObjectBoxView()) ->setHeaderText(pht('Lint')) - ->appendChild($table); + ->setTable($table); $title = array('Lint'); $crumbs = $this->buildCrumbs( diff --git a/src/applications/diffusion/controller/DiffusionLintDetailsController.php b/src/applications/diffusion/controller/DiffusionLintDetailsController.php index ba1a1dcbaf..c9927884cc 100644 --- a/src/applications/diffusion/controller/DiffusionLintDetailsController.php +++ b/src/applications/diffusion/controller/DiffusionLintDetailsController.php @@ -74,7 +74,7 @@ final class DiffusionLintDetailsController extends DiffusionController { $content[] = id(new PHUIObjectBoxView()) ->setHeaderText(pht('Lint Details')) - ->appendChild($table); + ->setTable($table); $crumbs = $this->buildCrumbs( array( diff --git a/src/applications/diffusion/controller/DiffusionPushEventViewController.php b/src/applications/diffusion/controller/DiffusionPushEventViewController.php index 163472fe56..0ad40ae840 100644 --- a/src/applications/diffusion/controller/DiffusionPushEventViewController.php +++ b/src/applications/diffusion/controller/DiffusionPushEventViewController.php @@ -43,7 +43,7 @@ final class DiffusionPushEventViewController $commits_box = id(new PHUIObjectBoxView()) ->setHeaderText(pht('Pushed Commits')) - ->appendChild($commits_table); + ->setTable($commits_table); $logs = $event->getLogs(); @@ -54,7 +54,7 @@ final class DiffusionPushEventViewController $update_box = id(new PHUIObjectBoxView()) ->setHeaderText(pht('All Pushed Updates')) - ->appendChild($updates_table); + ->setTable($updates_table); return $this->buildApplicationPage( array( diff --git a/src/applications/diffusion/controller/DiffusionRefTableController.php b/src/applications/diffusion/controller/DiffusionRefTableController.php index 340d6d5e63..dac0c3a136 100644 --- a/src/applications/diffusion/controller/DiffusionRefTableController.php +++ b/src/applications/diffusion/controller/DiffusionRefTableController.php @@ -127,7 +127,7 @@ final class DiffusionRefTableController extends DiffusionController { $content = id(new PHUIObjectBoxView()) ->setHeaderText(pht('Ref "%s"', $ref_name)) - ->appendChild($table); + ->setTable($table); $crumbs = $this->buildCrumbs(array()); $crumbs->addTextCrumb(pht('Refs')); diff --git a/src/applications/diffusion/controller/DiffusionRepositoryController.php b/src/applications/diffusion/controller/DiffusionRepositoryController.php index 7eb99b7096..6ea6b881d4 100644 --- a/src/applications/diffusion/controller/DiffusionRepositoryController.php +++ b/src/applications/diffusion/controller/DiffusionRepositoryController.php @@ -397,7 +397,7 @@ final class DiffusionRepositoryController extends DiffusionController { $header->addActionLink($button); $panel->setHeader($header); - $panel->appendChild($table); + $panel->setTable($table); return $panel; } @@ -572,7 +572,7 @@ final class DiffusionRepositoryController extends DiffusionController { ->setHeader(pht('Recent Commits')) ->addActionLink($button); $panel->setHeader($header); - $panel->appendChild($history_table); + $panel->setTable($history_table); return $panel; } @@ -658,7 +658,7 @@ final class DiffusionRepositoryController extends DiffusionController { $browse_panel->appendChild($form_box); } - $browse_panel->appendChild($browse_table); + $browse_panel->setTable($browse_table); return $browse_panel; } diff --git a/src/applications/diffusion/controller/DiffusionSymbolController.php b/src/applications/diffusion/controller/DiffusionSymbolController.php index 6e521a27af..efa28d90a7 100644 --- a/src/applications/diffusion/controller/DiffusionSymbolController.php +++ b/src/applications/diffusion/controller/DiffusionSymbolController.php @@ -132,7 +132,7 @@ final class DiffusionSymbolController extends DiffusionController { $panel = new PHUIObjectBoxView(); $panel->setHeaderText(pht('Similar Symbols')); - $panel->appendChild($table); + $panel->setTable($table); return $this->buildApplicationPage( $panel, diff --git a/src/view/phui/PHUIObjectBoxView.php b/src/view/phui/PHUIObjectBoxView.php index 67aa7d360c..4131f816ca 100644 --- a/src/view/phui/PHUIObjectBoxView.php +++ b/src/view/phui/PHUIObjectBoxView.php @@ -16,6 +16,8 @@ final class PHUIObjectBoxView extends AphrontView { private $metadata; private $actionListID; private $objectList; + private $table; + private $collapsed = false; private $tabs = array(); private $propertyLists = array(); @@ -148,6 +150,17 @@ final class PHUIObjectBoxView extends AphrontView { $this->objectList = $list; return $this; } + + public function setTable($table) { + $this->collapsed = true; + $this->table = $table; + return $this; + } + + public function setCollapsed($collapsed) { + $this->collapsed = $collapsed; + return $this; + } public function setValidationException( PhabricatorApplicationTransactionValidationException $ex = null) { @@ -280,6 +293,7 @@ final class PHUIObjectBoxView extends AphrontView { $tabs, $tab_lists, $property_lists, + $this->table, $this->renderChildren(), )) ->setBorder(true) @@ -292,6 +306,10 @@ final class PHUIObjectBoxView extends AphrontView { if ($this->color) { $content->addClass('phui-object-box-'.$this->color); } + + if ($this->collapsed) { + $content->addClass('phui-object-box-collapsed'); + } if ($this->tabs) { $content->addSigil('phui-object-box'); diff --git a/webroot/rsrc/css/aphront/table-view.css b/webroot/rsrc/css/aphront/table-view.css index d82cc52c64..0fa3eb2472 100644 --- a/webroot/rsrc/css/aphront/table-view.css +++ b/webroot/rsrc/css/aphront/table-view.css @@ -208,7 +208,7 @@ span.single-display-line-content { } .aphront-table-view tr.alt-highlighted { - background: #fcf2bb; + background: {$sh-yellowbackground}; } .aphront-table-view tr.no-data td { diff --git a/webroot/rsrc/css/phui/phui-object-box.css b/webroot/rsrc/css/phui/phui-object-box.css index 565bc0d190..c53f0b4b83 100644 --- a/webroot/rsrc/css/phui/phui-object-box.css +++ b/webroot/rsrc/css/phui/phui-object-box.css @@ -7,6 +7,14 @@ padding: 12px 12px 4px 12px; } +.phui-object-box.phui-object-box-collapsed { + padding: 12px 0 0 0; +} + +.phui-object-box.phui-object-box-collapsed .phui-header-shell { + padding: 0 4px 4px 16px; +} + div.phui-object-box.phui-object-box-flush { margin-top: 0; }