3 final class PHUIPinboardItemView
extends AphrontView
{
8 private $iconBlock = array();
14 public function setHeader($header) {
15 $this->header
= $header;
19 public function setURI($uri) {
24 public function setImageURI($image_uri) {
25 $this->imageURI
= $image_uri;
29 public function setImageSize($x, $y) {
30 $this->imageWidth
= $x;
31 $this->imageHeight
= $y;
35 public function addIconCount($icon, $count) {
36 $this->iconBlock
[] = array($icon, $count);
40 public function setDisabled($disabled) {
41 $this->disabled
= $disabled;
45 public function setObject($object) {
46 $this->object = $object;
50 public function render() {
51 require_celerity_resource('phui-pinboard-view-css');
55 if ($this->disabled
) {
56 $header_color = 'phui-pinboard-disabled';
61 'class' => 'phui-pinboard-item-header '.$header_color,
64 id(new PHUISpacesNamespaceContextView())
65 ->setUser($this->getUser())
66 ->setObject($this->object),
77 if ($this->imageWidth
) {
82 'class' => 'phui-pinboard-item-image-link',
87 'src' => $this->imageURI
,
88 'width' => $this->imageWidth
,
89 'height' => $this->imageHeight
,
94 if ($this->iconBlock
) {
96 foreach ($this->iconBlock
as $block) {
97 $icon = id(new PHUIIconView())
98 ->setIcon($block[0].' lightgreytext')
99 ->addClass('phui-pinboard-icon');
101 $count = phutil_tag('span', array(), $block[1]);
102 $icon_list[] = phutil_tag(
105 'class' => 'phui-pinboard-item-count',
107 array($icon, $count));
112 'class' => 'phui-pinboard-icons',
117 $content = $this->renderChildren();
119 $content = phutil_tag(
122 'class' => 'phui-pinboard-item-content',
128 $classes[] = 'phui-pinboard-item-view';
129 if ($this->disabled
) {
130 $classes[] = 'phui-pinboard-item-disabled';
136 'class' => implode(' ', $classes),
148 'class' => 'phui-pinboard-list-item',