Something went wrong. Try again.
@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
Something went wrong. Try again.
PHP
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161<?php
final class PHUIActionPanelView extends AphrontTagView {
private $href; private $fontIcon; private $image; private $header; private $subHeader; private $bigText; private $state; private $status;
const COLOR_RED = 'phui-action-panel-red'; const COLOR_ORANGE = 'phui-action-panel-orange'; const COLOR_YELLOW = 'phui-action-panel-yellow'; const COLOR_GREEN = 'phui-action-panel-green'; const COLOR_BLUE = 'phui-action-panel-blue'; const COLOR_INDIGO = 'phui-action-panel-indigo'; const COLOR_VIOLET = 'phui-action-panel-violet'; const COLOR_PINK = 'phui-action-panel-pink';
public function setHref($href) { $this->href = $href; return $this; }
public function setIcon($image) { $this->fontIcon = $image; return $this; }
public function setImage($image) { $this->image = $image; return $this; }
public function setBigText($text) { $this->bigText = $text; return $this; }
public function setHeader($header) { $this->header = $header; return $this; }
public function setSubHeader($sub) { $this->subHeader = $sub; return $this; }
public function setState($state) { $this->state = $state; return $this; }
public function setStatus($text) { $this->status = $text; return $this; }
protected function getTagName() { return 'div'; }
protected function getTagAttributes() { require_celerity_resource('phui-action-panel-css');
$classes = array(); $classes[] = 'phui-action-panel'; if ($this->state) { $classes[] = $this->state; } if ($this->bigText) { $classes[] = 'phui-action-panel-bigtext'; }
return array( 'class' => implode(' ', $classes), ); }
protected function getTagContent() {
$icon = null; if ($this->fontIcon) { $fonticon = id(new PHUIIconView()) ->setIcon($this->fontIcon); $icon = phutil_tag( 'span', array( 'class' => 'phui-action-panel-icon', ), $fonticon); }
if ($this->image) { $image = phutil_tag( 'img', array( 'class' => 'phui-action-panel-image', 'src' => $this->image, )); $icon = phutil_tag( 'span', array( 'class' => 'phui-action-panel-icon', ), $image); }
$header = null; if ($this->header) { $header = phutil_tag( 'span', array( 'class' => 'phui-action-panel-header', ), $this->header); }
$subheader = null; if ($this->subHeader) { $subheader = phutil_tag( 'span', array( 'class' => 'phui-action-panel-subheader', ), $this->subHeader); }
$row = phutil_tag( 'span', array( 'class' => 'phui-action-panel-row', ), array( $icon, $subheader, ));
$table = phutil_tag( 'span', array( 'class' => 'phui-action-panel-table', ), $row);
return phutil_tag( 'a', array( 'href' => $this->href, 'class' => 'phui-action-panel-hitarea', ), array($header, $table));
}
}