Changeset View
Changeset View
Standalone View
Standalone View
src/view/fuel/FuelMenuItemView.php
- This file was added.
| <?php | |||||
| final class FuelMenuItemView | |||||
| extends FuelView { | |||||
| private $name; | |||||
| private $uri; | |||||
| private $icon; | |||||
| private $disabled; | |||||
| private $backgroundColor; | |||||
| public function setURI($uri) { | |||||
| $this->uri = $uri; | |||||
| return $this; | |||||
| } | |||||
| public function getURI() { | |||||
| return $this->uri; | |||||
| } | |||||
| public function setName($name) { | |||||
| $this->name = $name; | |||||
| return $this; | |||||
| } | |||||
| public function getName() { | |||||
| return $this->name; | |||||
| } | |||||
| public function setIcon(PHUIIconView $icon) { | |||||
| $this->icon = $icon; | |||||
| return $this; | |||||
| } | |||||
| public function getIcon() { | |||||
| return $this->icon; | |||||
| } | |||||
| public function newIcon() { | |||||
| $icon = new PHUIIconView(); | |||||
| $this->setIcon($icon); | |||||
| return $icon; | |||||
| } | |||||
| public function setDisabled($disabled) { | |||||
| $this->disabled = $disabled; | |||||
| return $this; | |||||
| } | |||||
| public function getDisabled() { | |||||
| return $this->disabled; | |||||
| } | |||||
| public function setBackgroundColor($background_color) { | |||||
| $this->backgroundColor = $background_color; | |||||
| return $this; | |||||
| } | |||||
| public function getBackgroundColor() { | |||||
| return $this->backgroundColor; | |||||
| } | |||||
| public function render() { | |||||
| $icon = $this->getIcon(); | |||||
| $name = $this->getName(); | |||||
| $uri = $this->getURI(); | |||||
| $icon = phutil_tag( | |||||
| 'span', | |||||
| array( | |||||
| 'class' => 'fuel-menu-item-icon', | |||||
| ), | |||||
| $icon); | |||||
| $item_link = phutil_tag( | |||||
| 'a', | |||||
| array( | |||||
| 'href' => $uri, | |||||
| 'class' => 'fuel-menu-item-link', | |||||
| ), | |||||
| array( | |||||
| $icon, | |||||
| $name, | |||||
| )); | |||||
| $classes = array(); | |||||
| $classes[] = 'fuel-menu-item'; | |||||
| if ($this->getDisabled()) { | |||||
| $classes[] = 'disabled'; | |||||
| } | |||||
| $background_color = $this->getBackgroundColor(); | |||||
| if ($background_color !== null) { | |||||
| $classes[] = 'fuel-menu-item-background-color-'.$background_color; | |||||
| } | |||||
| if ($uri !== null) { | |||||
| $classes[] = 'has-link'; | |||||
| } | |||||
| $classes = implode(' ', $classes); | |||||
| return phutil_tag( | |||||
| 'div', | |||||
| array( | |||||
| 'class' => $classes, | |||||
| ), | |||||
| $item_link); | |||||
| } | |||||
| } | |||||