Changeset View
Changeset View
Standalone View
Standalone View
src/view/phui/PHUITwoColumnView.php
| <?php | <?php | ||||
| final class PHUITwoColumnView extends AphrontTagView { | final class PHUITwoColumnView extends AphrontTagView { | ||||
| private $mainColumn; | private $mainColumn; | ||||
| private $sideColumn; | private $sideColumn; | ||||
| private $display; | |||||
| const DISPLAY_LEFT = 'phui-side-column-left'; | |||||
| const DISPLAY_RIGHT = 'phui-side-column-right'; | |||||
| public function setMainColumn($main) { | public function setMainColumn($main) { | ||||
| $this->mainColumn = $main; | $this->mainColumn = $main; | ||||
| return $this; | return $this; | ||||
| } | } | ||||
| public function setSideColumn($side) { | public function setSideColumn($side) { | ||||
| $this->sideColumn = $side; | $this->sideColumn = $side; | ||||
| return $this; | return $this; | ||||
| } | } | ||||
| public function setDisplay($display) { | |||||
| $this->display = $display; | |||||
| return $this; | |||||
| } | |||||
| public function getDisplay() { | |||||
| if ($this->display) { | |||||
| return $this->display; | |||||
| } else { | |||||
| return self::DISPLAY_RIGHT; | |||||
| } | |||||
| } | |||||
| protected function getTagAttributes() { | protected function getTagAttributes() { | ||||
| $classes = array(); | |||||
| $classes[] = 'phui-two-column-view'; | |||||
| $classes[] = 'grouped'; | |||||
| $classes[] = $this->getDisplay(); | |||||
| return array( | return array( | ||||
| 'class' => 'phui-two-column-view grouped', | 'class' => implode(' ', $classes), | ||||
| ); | ); | ||||
| } | } | ||||
| protected function getTagContent() { | protected function getTagContent() { | ||||
| require_celerity_resource('phui-two-column-view-css'); | require_celerity_resource('phui-two-column-view-css'); | ||||
| $main = phutil_tag( | $main = phutil_tag( | ||||
| 'div', | 'div', | ||||
| array( | array( | ||||
| 'class' => 'phui-main-column', | 'class' => 'phui-main-column', | ||||
| ), | ), | ||||
| $this->mainColumn); | $this->mainColumn); | ||||
| $side = phutil_tag( | $side = phutil_tag( | ||||
| 'div', | 'div', | ||||
| array( | array( | ||||
| 'class' => 'phui-side-column', | 'class' => 'phui-side-column', | ||||
| ), | ), | ||||
| $this->sideColumn); | $this->sideColumn); | ||||
| return phutil_tag_div( | if ($this->getDisplay() == self::DISPLAY_LEFT) { | ||||
| 'phui-two-column-row', | $order = array($side, $main); | ||||
| array( | } else { | ||||
| $main, | $order = array($main, $side); | ||||
| $side, | } | ||||
| )); | |||||
| return phutil_tag_div('phui-two-column-row', $order); | |||||
| } | } | ||||
| } | } | ||||