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
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127<?php
final class PHUIWorkpanelView extends AphrontTagView {
private $cards = array(); private $header; private $subheader = null; private $footerAction; private $headerActions = array(); private $headerTag; private $headerIcon; private $href;
public function setHeaderIcon($icon) { $this->headerIcon = $icon; return $this; }
public function getHeaderIcon() { return $this->headerIcon; }
public function setCards(PHUIObjectItemListView $cards) { $this->cards[] = $cards; return $this; }
public function setHeader($header) { $this->header = $header; return $this; }
public function setSubheader($subheader) { $this->subheader = $subheader; return $this; }
public function setFooterAction(PHUIListItemView $footer_action) { $this->footerAction = $footer_action; return $this; }
public function addHeaderAction(PHUIIconView $action) { $this->headerActions[] = $action; return $this; }
public function setHeaderTag(PHUITagView $tag) { $this->headerTag = $tag; return $this; }
public function setHref($href) { $this->href = $href; return $this; }
public function getHref() { return $this->href; }
protected function getTagAttributes() { return array( 'class' => 'phui-workpanel-view', ); }
protected function getTagContent() { require_celerity_resource('phui-workpanel-view-css');
$footer = ''; if ($this->footerAction) { $footer_tag = $this->footerAction; $footer = phutil_tag( 'ul', array( 'class' => 'phui-workpanel-footer-action mst ps', ), $footer_tag); }
$header = id(new PHUIHeaderView()) ->setHeader($this->header) ->setSubheader($this->subheader) ->setCollapsible(true);
foreach ($this->headerActions as $action) { $header->addActionItem($action); }
if ($this->headerTag) { $header->addActionItem($this->headerTag); }
if ($this->headerIcon) { $header->setHeaderIcon($this->headerIcon); }
$href = $this->getHref(); if ($href !== null) { $header->setHref($href); }
$body = phutil_tag( 'div', array( 'class' => 'phui-workpanel-body-content', ), $this->cards);
$body = phutil_tag_div('phui-workpanel-body', $body);
$view = id(new PHUIBoxView()) ->setColor(PHUIBoxView::GREY) ->addClass('phui-workpanel-view-inner') ->setCollapsible(true) ->appendChild( array( $header, $body, $footer, ));
return $view; }}