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

Stick the page footer in the right place on Formation View pages

Summary: Ref T13516. This isn't terribly clean, but get the page footer into the bottom of the content page on FormationView pages so it doesn't overlap into the side panel.

Test Plan: With and without a footer, viewed normal and FormationView pages. Saw footers in appropriate places at appropriate times.

Maniphest Tasks: T13516

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

+37 -7
+3 -3
resources/celerity/map.php
··· 12 12 'core.pkg.css' => '589cd2fe', 13 13 'core.pkg.js' => '49814bac', 14 14 'dark-console.pkg.js' => '187792c2', 15 - 'differential.pkg.css' => 'b3469b93', 15 + 'differential.pkg.css' => '8e1a7922', 16 16 'differential.pkg.js' => 'c8f88d74', 17 17 'diffusion.pkg.css' => '42c75c37', 18 18 'diffusion.pkg.js' => 'a98c0bf7', ··· 156 156 'rsrc/css/phui/phui-fontkit.css' => '1ec937e5', 157 157 'rsrc/css/phui/phui-form-view.css' => '01b796c0', 158 158 'rsrc/css/phui/phui-form.css' => '1f177cb7', 159 - 'rsrc/css/phui/phui-formation-view.css' => '1e6b744b', 159 + 'rsrc/css/phui/phui-formation-view.css' => 'd2dec8ed', 160 160 'rsrc/css/phui/phui-head-thing.css' => 'd7f293df', 161 161 'rsrc/css/phui/phui-header-view.css' => '36c86a58', 162 162 'rsrc/css/phui/phui-hovercard.css' => '6ca90fa0', ··· 847 847 'phui-fontkit-css' => '1ec937e5', 848 848 'phui-form-css' => '1f177cb7', 849 849 'phui-form-view-css' => '01b796c0', 850 - 'phui-formation-view-css' => '1e6b744b', 850 + 'phui-formation-view-css' => 'd2dec8ed', 851 851 'phui-head-thing-view-css' => 'd7f293df', 852 852 'phui-header-view-css' => '36c86a58', 853 853 'phui-hovercard' => '074f0783',
+12
src/view/formation/PHUIFormationView.php
··· 191 191 return $items; 192 192 } 193 193 194 + public function setFooter($footer) { 195 + foreach ($this->items as $item) { 196 + if ($item->getColumn() instanceof PHUIFormationContentView) { 197 + $item->getColumn()->appendChild($footer); 198 + return $this; 199 + } 200 + } 201 + 202 + throw new Exception( 203 + pht('Unable to find a content column to place the footer inside.')); 204 + } 205 + 194 206 }
+19 -4
src/view/page/PhabricatorStandardPageView.php
··· 22 22 private $tabs; 23 23 private $crumbs; 24 24 private $navigation; 25 + private $footer; 25 26 26 27 public function setShowFooter($show_footer) { 27 28 $this->showFooter = $show_footer; ··· 196 197 197 198 198 199 protected function willRenderPage() { 200 + $footer = $this->renderFooter(); 201 + 202 + // NOTE: A cleaner solution would be to let body layout elements implement 203 + // some kind of "LayoutInterface" so content can be embedded inside frames, 204 + // but there's only really one use case for this for now. 205 + $children = $this->renderChildren(); 206 + if ($children) { 207 + $layout = head($children); 208 + if ($layout instanceof PHUIFormationView) { 209 + $layout->setFooter($footer); 210 + $footer = null; 211 + } 212 + } 213 + 214 + $this->footer = $footer; 215 + 199 216 parent::willRenderPage(); 200 217 201 218 if (!$this->getRequest()) { ··· 501 518 502 519 $body = parent::getBody(); 503 520 504 - $footer = $this->renderFooter(); 505 - 506 521 $nav = $this->getNavigation(); 507 522 $tabs = $this->getTabs(); 508 523 if ($nav) { ··· 511 526 $nav->setCrumbs($crumbs); 512 527 } 513 528 $nav->appendChild($body); 514 - $nav->appendFooter($footer); 529 + $nav->appendFooter($this->footer); 515 530 $content = phutil_implode_html('', array($nav->render())); 516 531 } else { 517 532 $content = array(); ··· 530 545 } 531 546 532 547 $content[] = $body; 533 - $content[] = $footer; 548 + $content[] = $this->footer; 534 549 535 550 $content = phutil_implode_html('', $content); 536 551 }
+3
webroot/rsrc/css/phui/phui-formation-view.css
··· 127 127 background-repeat: no-repeat; 128 128 129 129 display: none; 130 + z-index: 4; 130 131 } 131 132 132 133 .device-desktop .phui-formation-resizer { ··· 138 139 top: {$menu.main.height}; 139 140 bottom: 0; 140 141 overflow: hidden; 142 + background: {$lightgreybackground}; 143 + z-index: 4; 141 144 } 142 145 143 146 .phui-flank-view-fixed .phui-flank-view-body {