When users hover over a column trigger menu, show a "preview" with the rules instead of a tooltip
Summary: Ref T5474. The first rough cut of triggers showed some of the trigger rules in a tooltip when you hover over the "add/remove" trigger menu. This isn't great since we don't have much room and it's a bit finnicky / hard to read. Since we have a better way to show effects now in the drop preview, just use that instead. When you hover over the trigger menu, preview the trigger in the "drop effect" element, with a "Trigger: such-and-such" header. Test Plan: - This is pretty tough to screenshot. - Hovered over menu, got a sensible preview of the trigger effects. - Dragged a card over the menu, no preview. Reviewers: amckinley Reviewed By: amckinley Maniphest Tasks: T5474 Differential Revision: https://secure.phabricator.com/D20304
This commit is contained in:
@@ -623,10 +623,20 @@ final class PhabricatorProjectBoardViewController
|
||||
$drop_effects = $column->getDropEffects();
|
||||
$drop_effects = mpull($drop_effects, 'toDictionary');
|
||||
|
||||
$preview_effect = null;
|
||||
if ($column->canHaveTrigger()) {
|
||||
$trigger = $column->getTrigger();
|
||||
if ($trigger) {
|
||||
$preview_effect = $trigger->getPreviewEffect()
|
||||
->toDictionary();
|
||||
}
|
||||
}
|
||||
|
||||
$column_templates[] = array(
|
||||
'columnPHID' => $column_phid,
|
||||
'effects' => $drop_effects,
|
||||
'cardPHIDs' => $card_phids,
|
||||
'triggerPreviewEffect' => $preview_effect,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -652,12 +662,8 @@ final class PhabricatorProjectBoardViewController
|
||||
|
||||
$properties = array();
|
||||
foreach ($all_tasks as $task) {
|
||||
$properties[$task->getPHID()] = array(
|
||||
'points' => (double)$task->getPoints(),
|
||||
'status' => $task->getStatus(),
|
||||
'priority' => (int)$task->getPriority(),
|
||||
'owner' => $task->getOwnerPHID(),
|
||||
);
|
||||
$properties[$task->getPHID()] =
|
||||
PhabricatorBoardResponseEngine::newTaskProperties($task);
|
||||
}
|
||||
|
||||
$behavior_config = array(
|
||||
@@ -1263,26 +1269,15 @@ final class PhabricatorProjectBoardViewController
|
||||
$trigger_icon = 'fa-cogs grey';
|
||||
}
|
||||
|
||||
if ($trigger) {
|
||||
$trigger_tip = array(
|
||||
pht('%s: %s', $trigger->getObjectName(), $trigger->getDisplayName()),
|
||||
$trigger->getRulesDescription(),
|
||||
);
|
||||
$trigger_tip = implode("\n", $trigger_tip);
|
||||
} else {
|
||||
$trigger_tip = pht('No column trigger.');
|
||||
}
|
||||
|
||||
$trigger_button = id(new PHUIIconView())
|
||||
->setIcon($trigger_icon)
|
||||
->setHref('#')
|
||||
->addSigil('boards-dropdown-menu')
|
||||
->addSigil('has-tooltip')
|
||||
->addSigil('trigger-preview')
|
||||
->setMetadata(
|
||||
array(
|
||||
'items' => hsprintf('%s', $trigger_menu),
|
||||
'tip' => $trigger_tip,
|
||||
'size' => 300,
|
||||
'columnPHID' => $column->getPHID(),
|
||||
));
|
||||
|
||||
return $trigger_button;
|
||||
|
||||
Reference in New Issue
Block a user