Add a "Play Sound" workboard trigger rule
Summary: Ref T5474. Allow columns to play a sound when tasks are dropped. This is a little tricky because Safari has changed somewhat recently to require some gymnastics to play sounds when the user didn't explicitly click something. Preloading the sound on the first mouse interaction, then playing and immediately pausing it seems to work, though. Test Plan: Added a trigger with 5 sounds. In Safari, Chrome, and Firefox, dropped a card into the column. In all browsers, heard a nice sequence of 5 sounds played one after the other. Reviewers: amckinley Reviewed By: amckinley Maniphest Tasks: T5474 Differential Revision: https://secure.phabricator.com/D20306
This commit is contained in:
@@ -542,6 +542,7 @@ final class PhabricatorProjectBoardViewController
|
||||
$templates = array();
|
||||
$all_tasks = array();
|
||||
$column_templates = array();
|
||||
$sounds = array();
|
||||
foreach ($visible_columns as $column_phid => $column) {
|
||||
$column_tasks = $column_phids[$column_phid];
|
||||
|
||||
@@ -629,6 +630,10 @@ final class PhabricatorProjectBoardViewController
|
||||
if ($trigger) {
|
||||
$preview_effect = $trigger->getPreviewEffect()
|
||||
->toDictionary();
|
||||
|
||||
foreach ($trigger->getSoundEffects() as $sound) {
|
||||
$sounds[] = $sound;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -685,6 +690,7 @@ final class PhabricatorProjectBoardViewController
|
||||
|
||||
'boardID' => $board_id,
|
||||
'projectPHID' => $project->getPHID(),
|
||||
'preloadSounds' => $sounds,
|
||||
);
|
||||
$this->initBehavior('project-boards', $behavior_config);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user