Path: blob/master/src/view/phui/PHUIIconCircleView.php
12249 views
<?php12final class PHUIIconCircleView extends AphrontTagView {34private $href = null;5private $icon;6private $color;7private $size;8private $state;910const SMALL = 'circle-small';11const MEDIUM = 'circle-medium';1213const STATE_FAIL = 'fa-times-circle';14const STATE_INFO = 'fa-info-circle';15const STATE_STOP = 'fa-stop-circle';16const STATE_START = 'fa-play-circle';17const STATE_PAUSE = 'fa-pause-circle';18const STATE_SUCCESS = 'fa-check-circle';19const STATE_WARNING = 'fa-exclamation-circle';20const STATE_PLUS = 'fa-plus-circle';21const STATE_MINUS = 'fa-minus-circle';22const STATE_UNKNOWN = 'fa-question-circle';2324public function setHref($href) {25$this->href = $href;26return $this;27}2829public function setIcon($icon) {30$this->icon = $icon;31return $this;32}3334public function setColor($color) {35$this->color = $color;36return $this;37}3839public function setSize($size) {40$this->size = $size;41return $this;42}4344public function setState($state) {45$this->state = $state;46return $this;47}4849protected function getTagName() {50$tag = 'span';51if ($this->href) {52$tag = 'a';53}54return $tag;55}5657protected function getTagAttributes() {58require_celerity_resource('phui-icon-view-css');5960$classes = array();61$classes[] = 'phui-icon-circle';6263if ($this->color) {64$classes[] = 'hover-'.$this->color;65} else {66$classes[] = 'hover-sky';67}6869if ($this->size) {70$classes[] = $this->size;71}7273if ($this->state) {74$classes[] = 'phui-icon-circle-state';75}7677return array(78'href' => $this->href,79'class' => $classes,80);81}8283protected function getTagContent() {84$state = null;85if ($this->state) {86$state = id(new PHUIIconView())87->setIcon($this->state.' '.$this->color)88->addClass('phui-icon-circle-state-icon');89}9091return id(new PHUIIconView())92->setIcon($this->icon)93->addClass('phui-icon-circle-icon')94->appendChild($state);95}9697public static function getStateMap() {98return array(99self::STATE_FAIL => pht('Failure'),100self::STATE_INFO => pht('Information'),101self::STATE_STOP => pht('Stop'),102self::STATE_START => pht('Start'),103self::STATE_PAUSE => pht('Pause'),104self::STATE_SUCCESS => pht('Success'),105self::STATE_WARNING => pht('Warning'),106self::STATE_PLUS => pht('Plus'),107self::STATE_MINUS => pht('Minus'),108self::STATE_UNKNOWN => pht('Unknown'),109);110}111112}113114115