Show task counts in column headers on Workboards
Summary: Ref T4427. This always counts 1 task = 1 point. The tricky bit is making this update in JS.
Test Plan: {F190900}
Reviewers: btrahan, chad
Reviewed By: chad
Subscribers: epriestley
Maniphest Tasks: T4427
Differential Revision: https://secure.phabricator.com/D10275
This commit is contained in:
@@ -220,6 +220,9 @@ final class PhabricatorProjectBoardViewController
|
||||
$this->handles = ManiphestTaskListView::loadTaskHandles($viewer, $tasks);
|
||||
|
||||
foreach ($columns as $column) {
|
||||
$task_phids = idx($task_map, $column->getPHID(), array());
|
||||
$column_tasks = array_select_keys($tasks, $task_phids);
|
||||
|
||||
$panel = id(new PHUIWorkpanelView())
|
||||
->setHeader($column->getDisplayName())
|
||||
->setHeaderColor($column->getHeaderColor());
|
||||
@@ -227,6 +230,18 @@ final class PhabricatorProjectBoardViewController
|
||||
$column_menu = $this->buildColumnMenu($project, $column);
|
||||
$panel->addHeaderAction($column_menu);
|
||||
|
||||
$tag_id = celerity_generate_unique_node_id();
|
||||
$tag_content_id = celerity_generate_unique_node_id();
|
||||
|
||||
$count_tag = id(new PHUITagView())
|
||||
->setType(PHUITagView::TYPE_SHADE)
|
||||
->setShade(PHUITagView::COLOR_BLUE)
|
||||
->setID($tag_id)
|
||||
->setName(phutil_tag('span', array('id' => $tag_content_id), '-'))
|
||||
->setStyle('display: none');
|
||||
|
||||
$panel->setHeaderTag($count_tag);
|
||||
|
||||
$cards = id(new PHUIObjectItemListView())
|
||||
->setUser($viewer)
|
||||
->setFlush(true)
|
||||
@@ -235,10 +250,11 @@ final class PhabricatorProjectBoardViewController
|
||||
->setMetadata(
|
||||
array(
|
||||
'columnPHID' => $column->getPHID(),
|
||||
'countTagID' => $tag_id,
|
||||
'countTagContentID' => $tag_content_id,
|
||||
));
|
||||
|
||||
$task_phids = idx($task_map, $column->getPHID(), array());
|
||||
foreach (array_select_keys($tasks, $task_phids) as $task) {
|
||||
foreach ($column_tasks as $task) {
|
||||
$owner = null;
|
||||
if ($task->getOwnerPHID()) {
|
||||
$owner = $this->handles[$task->getOwnerPHID()];
|
||||
@@ -253,7 +269,7 @@ final class PhabricatorProjectBoardViewController
|
||||
}
|
||||
$panel->setCards($cards);
|
||||
|
||||
if (!$task_phids) {
|
||||
if (!$column_tasks) {
|
||||
$cards->addClass('project-column-empty');
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user