Remove implode_selected_handle_links()
Summary: Ref T7689. Use the newer, less-janky stuff for rendering handles. Test Plan: - Viewed a revision hovercard; viewed "Author", viewed "Reviewers", viewed "Tasks". - Viewed a task hovercard; viewed "Assigned To"; viewed "Projects"; viewed other edge fields. Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley Maniphest Tasks: T7689 Differential Revision: https://secure.phabricator.com/D12209
This commit is contained in:
@@ -38,30 +38,21 @@ final class DifferentialHovercardEventListener
|
|||||||
$edge_query->execute();
|
$edge_query->execute();
|
||||||
$tasks = $edge_query->getDestinationPHIDs();
|
$tasks = $edge_query->getDestinationPHIDs();
|
||||||
|
|
||||||
$phids = array_merge(
|
|
||||||
array(
|
|
||||||
$rev->getAuthorPHID(),
|
|
||||||
),
|
|
||||||
$reviewer_phids,
|
|
||||||
$tasks);
|
|
||||||
|
|
||||||
$handles = id(new PhabricatorHandleQuery())
|
|
||||||
->setViewer($viewer)
|
|
||||||
->withPHIDs($phids)
|
|
||||||
->execute();
|
|
||||||
|
|
||||||
$hovercard->setTitle('D'.$rev->getID());
|
$hovercard->setTitle('D'.$rev->getID());
|
||||||
$hovercard->setDetail($rev->getTitle());
|
$hovercard->setDetail($rev->getTitle());
|
||||||
|
|
||||||
$hovercard->addField(pht('Author'),
|
$hovercard->addField(
|
||||||
$handles[$rev->getAuthorPHID()]->renderLink());
|
pht('Author'),
|
||||||
|
$viewer->renderHandle($rev->getAuthorPHID()));
|
||||||
|
|
||||||
$hovercard->addField(pht('Reviewers'),
|
$hovercard->addField(
|
||||||
implode_selected_handle_links(', ', $handles, $reviewer_phids));
|
pht('Reviewers'),
|
||||||
|
$viewer->renderHandleList($reviewer_phids)->setAsInline(true));
|
||||||
|
|
||||||
if ($tasks) {
|
if ($tasks) {
|
||||||
$hovercard->addField(pht('%s Task(s)', new PhutilNumber(count($tasks))),
|
$hovercard->addField(
|
||||||
implode_selected_handle_links(', ', $handles, $tasks));
|
pht('Tasks'),
|
||||||
|
$viewer->renderHandleList($tasks)->setAsInline(true));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($rev->getSummary()) {
|
if ($rev->getSummary()) {
|
||||||
|
|||||||
@@ -43,21 +43,16 @@ final class ManiphestHovercardEventListener extends PhabricatorEventListener {
|
|||||||
|
|
||||||
$owner_phid = $task->getOwnerPHID();
|
$owner_phid = $task->getOwnerPHID();
|
||||||
|
|
||||||
$phids = array_filter(array_merge(
|
$hovercard
|
||||||
array($owner_phid),
|
->setTitle(pht('T%d', $task->getID()))
|
||||||
$edge_phids));
|
|
||||||
|
|
||||||
$viewer_handles = $this->loadHandles($phids, $viewer);
|
|
||||||
|
|
||||||
$hovercard->setTitle(pht('T%d', $task->getID()))
|
|
||||||
->setDetail($task->getTitle());
|
->setDetail($task->getTitle());
|
||||||
|
|
||||||
$owner = phutil_tag('em', array(), pht('None'));
|
|
||||||
if ($owner_phid) {
|
if ($owner_phid) {
|
||||||
$owner = $viewer_handles[$owner_phid]->renderLink();
|
$owner = $viewer->renderHandle($owner_phid);
|
||||||
|
} else {
|
||||||
|
$owner = phutil_tag('em', array(), pht('None'));
|
||||||
}
|
}
|
||||||
|
$hovercard->addField(pht('Assigned To'), $owner);
|
||||||
$hovercard->addField(pht('Assigned to'), $owner);
|
|
||||||
|
|
||||||
if ($edge_phids) {
|
if ($edge_phids) {
|
||||||
$edge_types = array(
|
$edge_types = array(
|
||||||
@@ -79,9 +74,10 @@ final class ManiphestHovercardEventListener extends PhabricatorEventListener {
|
|||||||
|
|
||||||
$hovercard->addField(
|
$hovercard->addField(
|
||||||
$edge_name,
|
$edge_name,
|
||||||
implode_selected_handle_links(', ', $viewer_handles,
|
array(
|
||||||
array_keys($edges[$edge_type]))
|
$viewer->renderHandleList(array_keys($edges[$edge_type])),
|
||||||
->appendHTML($edge_overflow));
|
$edge_overflow,
|
||||||
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -91,11 +87,4 @@ final class ManiphestHovercardEventListener extends PhabricatorEventListener {
|
|||||||
$event->setValue('hovercard', $hovercard);
|
$event->setValue('hovercard', $hovercard);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function loadHandles(array $phids, $viewer) {
|
|
||||||
return id(new PhabricatorHandleQuery())
|
|
||||||
->setViewer($viewer)
|
|
||||||
->withPHIDs($phids)
|
|
||||||
->execute();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Implodes selected handles from a pool of handles. Useful if you load handles
|
|
||||||
* for various phids, but only render a few of them at a time.
|
|
||||||
*
|
|
||||||
* @return PhutilSafeHTML
|
|
||||||
*/
|
|
||||||
function implode_selected_handle_links($glue, array $handles, array $phids) {
|
|
||||||
|
|
||||||
$items = array();
|
|
||||||
foreach ($phids as $phid) {
|
|
||||||
$items[] = $handles[$phid]->renderLink();
|
|
||||||
}
|
|
||||||
|
|
||||||
return phutil_implode_html($glue, $items);
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user