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

Attach Diffusion Pagers to their ObjectBoxView

Summary: Adds the ability to set a pager onto an object box directly and pick up appropriate styles.

Test Plan: grep for renderTablePagerBox, test layouts with and without a pager.

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin

Maniphest Tasks: T12604

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

+57 -55
+6 -6
resources/celerity/map.php
··· 9 9 'names' => array( 10 10 'conpherence.pkg.css' => 'ff161f2d', 11 11 'conpherence.pkg.js' => 'b5b51108', 12 - 'core.pkg.css' => '959330a2', 12 + 'core.pkg.css' => 'd23d18e6', 13 13 'core.pkg.js' => '47a69358', 14 14 'darkconsole.pkg.js' => '1f9a31bc', 15 15 'differential.pkg.css' => '90b30783', 16 16 'differential.pkg.js' => 'ddfeb49b', 17 - 'diffusion.pkg.css' => '30dd8a58', 17 + 'diffusion.pkg.css' => 'b93d9b8c', 18 18 'diffusion.pkg.js' => '84c8f8fd', 19 19 'favicon.ico' => '30672e08', 20 20 'maniphest.pkg.css' => '4845691a', ··· 71 71 'rsrc/css/application/differential/revision-history.css' => '0e8eb855', 72 72 'rsrc/css/application/differential/revision-list.css' => 'f3c47d33', 73 73 'rsrc/css/application/differential/table-of-contents.css' => 'ae4b7a55', 74 - 'rsrc/css/application/diffusion/diffusion-icons.css' => '60c21c3b', 74 + 'rsrc/css/application/diffusion/diffusion-icons.css' => 'a6a1e2ba', 75 75 'rsrc/css/application/diffusion/diffusion-readme.css' => '297373eb', 76 76 'rsrc/css/application/diffusion/diffusion-source.css' => '750add59', 77 77 'rsrc/css/application/feed/feed.css' => 'ecd4ec57', ··· 164 164 'rsrc/css/phui/phui-invisible-character-view.css' => '6993d9f0', 165 165 'rsrc/css/phui/phui-lightbox.css' => '0a035e40', 166 166 'rsrc/css/phui/phui-list.css' => '12eb8ce6', 167 - 'rsrc/css/phui/phui-object-box.css' => '8b289e3d', 167 + 'rsrc/css/phui/phui-object-box.css' => '9cff003c', 168 168 'rsrc/css/phui/phui-pager.css' => '77d8a794', 169 169 'rsrc/css/phui/phui-pinboard-view.css' => '2495140e', 170 170 'rsrc/css/phui/phui-property-list-view.css' => '2dc7993f', ··· 578 578 'differential-revision-history-css' => '0e8eb855', 579 579 'differential-revision-list-css' => 'f3c47d33', 580 580 'differential-table-of-contents-css' => 'ae4b7a55', 581 - 'diffusion-icons-css' => '60c21c3b', 581 + 'diffusion-icons-css' => 'a6a1e2ba', 582 582 'diffusion-readme-css' => '297373eb', 583 583 'diffusion-source-css' => '750add59', 584 584 'diviner-shared-css' => '896f1d43', ··· 872 872 'phui-invisible-character-view-css' => '6993d9f0', 873 873 'phui-lightbox-css' => '0a035e40', 874 874 'phui-list-view-css' => '12eb8ce6', 875 - 'phui-object-box-css' => '8b289e3d', 875 + 'phui-object-box-css' => '9cff003c', 876 876 'phui-oi-big-ui-css' => '19f9369b', 877 877 'phui-oi-color-css' => 'cd2b9b77', 878 878 'phui-oi-drag-ui-css' => 'f12cbc9f',
+2 -4
src/applications/diffusion/controller/DiffusionBranchTableController.php
··· 57 57 $content = id(new PHUIObjectBoxView()) 58 58 ->setHeaderText($repository->getName()) 59 59 ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) 60 - ->setTable($table); 60 + ->setTable($table) 61 + ->setPager($pager); 61 62 } 62 63 63 64 $crumbs = $this->buildCrumbs( ··· 66 67 )); 67 68 $crumbs->setBorder(true); 68 69 69 - $pager_box = $this->renderTablePagerBox($pager); 70 - 71 70 $header = id(new PHUIHeaderView()) 72 71 ->setHeader(pht('Branches')) 73 72 ->setHeaderIcon('fa-code-fork'); ··· 76 75 ->setHeader($header) 77 76 ->setFooter(array( 78 77 $content, 79 - $pager_box, 80 78 )); 81 79 82 80 return $this->newPage()
+7 -11
src/applications/diffusion/controller/DiffusionBrowseController.php
··· 370 370 $browse_panel = id(new PHUIObjectBoxView()) 371 371 ->setHeader($browse_header) 372 372 ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) 373 - ->setTable($browse_table); 373 + ->setTable($browse_table) 374 + ->setPager($pager); 374 375 375 376 $browse_panel->setShowHide( 376 377 array(pht('Show Search')), ··· 395 396 'view' => 'browse', 396 397 )); 397 398 398 - $pager_box = $this->renderTablePagerBox($pager); 399 399 $crumbs->setBorder(true); 400 400 401 401 $view = id(new PHUITwoColumnView()) ··· 411 411 array( 412 412 $open_revisions, 413 413 $readme, 414 - $pager_box, 415 414 )); 416 415 417 416 if ($details) { ··· 489 488 nonempty($drequest->getPath(), '/')); 490 489 } 491 490 492 - $box = id(new PHUIObjectBoxView()) 491 + return id(new PHUIObjectBoxView()) 493 492 ->setHeaderText($header) 494 493 ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) 495 - ->setTable($table); 496 - 497 - $pager_box = $this->renderTablePagerBox($pager); 494 + ->setTable($table) 495 + ->setPager($pager); 498 496 499 - return array($box, $pager_box); 500 497 } 501 498 502 499 private function renderGrepResults(array $results, $pattern) { ··· 1775 1772 } 1776 1773 1777 1774 $header = id(new PHUIHeaderView()) 1778 - ->setHeader(pht('Open Revisions')) 1779 - ->setSubheader( 1780 - pht('Recently updated open revisions affecting this file.')); 1775 + ->setHeader(pht('Recently Open Revisions')) 1776 + ->setHeaderIcon('fa-gear'); 1781 1777 1782 1778 $view = id(new DifferentialRevisionListView()) 1783 1779 ->setHeader($header)
+4 -8
src/applications/diffusion/controller/DiffusionCompareController.php
··· 92 92 array( 93 93 'view' => 'compare', 94 94 )); 95 + $crumbs->setBorder(true); 95 96 96 97 $pager = id(new PHUIPagerView()) 97 98 ->readFromRequest($request); ··· 310 311 $header = id(new PHUIHeaderView()) 311 312 ->setHeader(pht('Commits')); 312 313 313 - $object_box = id(new PHUIObjectBoxView()) 314 + return id(new PHUIObjectBoxView()) 314 315 ->setHeader($header) 315 316 ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) 316 - ->setTable($history_table); 317 + ->setTable($history_table) 318 + ->setPager($pager); 317 319 318 - $pager_box = $this->renderTablePagerBox($pager); 319 - 320 - return array( 321 - $object_box, 322 - $pager_box, 323 - ); 324 320 } 325 321 }
-6
src/applications/diffusion/controller/DiffusionController.php
··· 317 317 ->appendChild($body); 318 318 } 319 319 320 - protected function renderTablePagerBox(PHUIPagerView $pager) { 321 - return id(new PHUIBoxView()) 322 - ->addMargin(PHUI::MARGIN_LARGE) 323 - ->appendChild($pager); 324 - } 325 - 326 320 protected function renderCommitHashTag(DiffusionRequest $drequest) { 327 321 $stable_commit = $drequest->getStableCommit(); 328 322 $commit = phutil_tag(
+2 -4
src/applications/diffusion/controller/DiffusionHistoryController.php
··· 57 57 $history_panel = id(new PHUIObjectBoxView()) 58 58 ->setHeader($history_header) 59 59 ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) 60 - ->setTable($history_table); 60 + ->setTable($history_table) 61 + ->setPager($pager); 61 62 62 63 $header = $this->buildHeader($drequest); 63 64 ··· 69 70 )); 70 71 $crumbs->setBorder(true); 71 72 72 - $pager_box = $this->renderTablePagerBox($pager); 73 - 74 73 $view = id(new PHUITwoColumnView()) 75 74 ->setHeader($header) 76 75 ->setFooter(array( 77 76 $history_panel, 78 - $pager_box, 79 77 )); 80 78 81 79 return $this->newPage()
+2 -3
src/applications/diffusion/controller/DiffusionLintController.php
··· 456 456 $content[] = id(new PHUIObjectBoxView()) 457 457 ->setHeaderText(pht('Lint Details')) 458 458 ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) 459 - ->setTable($table); 459 + ->setTable($table) 460 + ->setPager($pager); 460 461 461 462 $crumbs = $this->buildCrumbs( 462 463 array( ··· 465 466 'view' => 'lint', 466 467 )); 467 468 468 - $pager_box = $this->renderTablePagerBox($pager); 469 469 $header = id(new PHUIHeaderView()) 470 470 ->setHeader(pht('Lint: %s', $drequest->getRepository()->getDisplayName())) 471 471 ->setHeaderIcon('fa-code'); ··· 474 474 ->setHeader($header) 475 475 ->setFooter(array( 476 476 $content, 477 - $pager_box, 478 477 )); 479 478 480 479 return $this->newPage()
+4 -9
src/applications/diffusion/controller/DiffusionRepositoryController.php
··· 354 354 } 355 355 356 356 if ($repository->isSVN()) { 357 - $label = pht('Checkout'); 357 + $label = phutil_tag_div('diffusion-clone-label', pht('Checkout')); 358 358 } else { 359 - $label = pht('Clone'); 359 + $label = phutil_tag_div('diffusion-clone-label', pht('Clone')); 360 360 } 361 361 362 362 $view->addProperty( ··· 686 686 $pager->setURI($browse_uri, 'offset'); 687 687 688 688 if ($pager->willShowPagingControls()) { 689 - $pager_box = $this->renderTablePagerBox($pager); 690 - } else { 691 - $pager_box = null; 689 + $browse_panel->setPager($pager); 692 690 } 693 691 694 - return array( 695 - $browse_panel, 696 - $pager_box, 697 - ); 692 + return $browse_panel; 698 693 } 699 694 700 695 private function renderCloneURI(
+2 -4
src/applications/diffusion/controller/DiffusionTagListController.php
··· 87 87 $box = id(new PHUIObjectBoxView()) 88 88 ->setHeaderText($repository->getDisplayName()) 89 89 ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) 90 - ->setTable($view); 91 - 92 - $pager_box = $this->renderTablePagerBox($pager); 90 + ->setTable($view) 91 + ->setPager($pager); 93 92 94 93 $view = id(new PHUITwoColumnView()) 95 94 ->setHeader($header) 96 95 ->setFooter(array( 97 96 $box, 98 - $pager_box, 99 97 )); 100 98 101 99 return $this->newPage()
+11
src/view/phui/PHUIObjectBoxView.php
··· 18 18 private $table; 19 19 private $collapsed = false; 20 20 private $anchor; 21 + private $pager; 21 22 22 23 private $showAction; 23 24 private $hideAction; ··· 123 124 124 125 public function setCollapsed($collapsed) { 125 126 $this->collapsed = $collapsed; 127 + return $this; 128 + } 129 + 130 + public function setPager(PHUIPagerView $pager) { 131 + $this->pager = $pager; 126 132 return $this; 127 133 } 128 134 ··· 294 300 $lists = null; 295 301 } 296 302 303 + $pager = null; 304 + if ($this->pager) { 305 + $pager = phutil_tag_div('phui-object-box-pager', $this->pager); 306 + } 297 307 298 308 $content = array( 299 309 ($this->showHideOpen == false ? $this->anchor : null), ··· 308 318 ($this->showHideOpen == true ? $this->anchor : null), 309 319 $lists, 310 320 $this->table, 321 + $pager, 311 322 $this->renderChildren(), 312 323 ); 313 324
+5
webroot/rsrc/css/application/diffusion/diffusion-icons.css
··· 13 13 color: {$lightgreytext}; 14 14 } 15 15 16 + .diffusion-clone-label { 17 + height: 30px; 18 + line-height: 28px; 19 + } 20 + 16 21 .diffusion-browse-name { 17 22 margin-left: 8px; 18 23 }
+12
webroot/rsrc/css/phui/phui-object-box.css
··· 146 146 padding: 4px 8px; 147 147 background-color: {$lightgreybackground}; 148 148 } 149 + 150 + /* - Pager at the bottom ---------------------------------------------------- */ 151 + 152 + .phui-object-box-pager { 153 + background-color: {$bluebackground}; 154 + border-top: 1px solid {$lightblueborder}; 155 + } 156 + 157 + .phui-object-box-pager a.button { 158 + margin-top: 8px; 159 + margin-bottom: 8px; 160 + }