Changeset View
Changeset View
Standalone View
Standalone View
src/applications/project/view/PhabricatorProjectListView.php
- This file was added.
<?php | |||||
final class PhabricatorProjectListView extends AphrontView { | |||||
private $projects; | |||||
public function setProjects(array $projects) { | |||||
$this->projects = $projects; | |||||
return $this; | |||||
} | |||||
public function getProjects() { | |||||
return $this->projects; | |||||
} | |||||
public function renderList() { | |||||
$viewer = $this->getUser(); | |||||
$projects = $this->getProjects(); | |||||
$handles = $viewer->loadHandles(mpull($projects, 'getPHID')); | |||||
$list = id(new PHUIObjectItemListView()) | |||||
->setUser($viewer); | |||||
foreach ($projects as $key => $project) { | |||||
$id = $project->getID(); | |||||
$tag_list = id(new PHUIHandleTagListView()) | |||||
->setSlim(true) | |||||
->setHandles(array($handles[$project->getPHID()])); | |||||
$item = id(new PHUIObjectItemView()) | |||||
->setHeader($project->getName()) | |||||
->setHref("/project/view/{$id}/") | |||||
->setImageURI($project->getProfileImageURI()) | |||||
->addAttribute($tag_list); | |||||
if ($project->getStatus() == PhabricatorProjectStatus::STATUS_ARCHIVED) { | |||||
$item->addIcon('delete-grey', pht('Archived')); | |||||
$item->setDisabled(true); | |||||
} | |||||
$list->addItem($item); | |||||
} | |||||
return $list; | |||||
} | |||||
public function render() { | |||||
return $this->renderList(); | |||||
} | |||||
} |