8a9f760975
Summary: Builds a new ProjectCardView, starts basic Project Hovercard redesign (needs milestone, subproject support). Ref T10055
Test Plan:
View all the colors.
{F1092622}
Reviewers: epriestley
Reviewed By: epriestley
Subscribers: Korvin
Maniphest Tasks: T10055
Differential Revision: https://secure.phabricator.com/D15186
56 lines
1.2 KiB
PHP
56 lines
1.2 KiB
PHP
<?php
|
|
|
|
final class ProjectHovercardEngineExtension
|
|
extends PhabricatorHovercardEngineExtension {
|
|
|
|
const EXTENSIONKEY = 'project.card';
|
|
|
|
public function isExtensionEnabled() {
|
|
return true;
|
|
}
|
|
|
|
public function getExtensionName() {
|
|
return pht('Project Card');
|
|
}
|
|
|
|
public function canRenderObjectHovercard($object) {
|
|
return ($object instanceof PhabricatorProject);
|
|
}
|
|
|
|
public function willRenderHovercards(array $objects) {
|
|
$viewer = $this->getViewer();
|
|
$phids = mpull($objects, 'getPHID');
|
|
|
|
$projects = id(new PhabricatorProjectQuery())
|
|
->setViewer($viewer)
|
|
->withPHIDs($phids)
|
|
->needImages(true)
|
|
->execute();
|
|
$projects = mpull($projects, null, 'getPHID');
|
|
|
|
return array(
|
|
'projects' => $projects,
|
|
);
|
|
}
|
|
|
|
public function renderHovercard(
|
|
PHUIHovercardView $hovercard,
|
|
PhabricatorObjectHandle $handle,
|
|
$object,
|
|
$data) {
|
|
$viewer = $this->getViewer();
|
|
|
|
$project = idx($data['projects'], $object->getPHID());
|
|
if (!$project) {
|
|
return;
|
|
}
|
|
|
|
$project_card = id(new PhabricatorProjectCardView())
|
|
->setProject($project)
|
|
->setViewer($viewer);
|
|
|
|
$hovercard->appendChild($project_card);
|
|
}
|
|
|
|
}
|