Quicksand - fix project board page and quicksand

Summary: Fixes T7913. Collapse the separate board dropdown into the board projects behavior; we always need that anyway and now we can install the listener more granularly.

Test Plan:
 - visted project board
 - invoked create task, cancelled dialog
 - visited project feed
 - visited project board
 - invoked create task, cancelled dialog (FAILED pre patch...!)

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin, epriestley

Maniphest Tasks: T7913

Differential Revision: https://secure.phabricator.com/D12599
This commit is contained in:
Bob Trahan
2015-04-28 14:51:49 -07:00
parent b1081a1553
commit 00f864b359
8 changed files with 188 additions and 155 deletions

View File

@@ -3,6 +3,7 @@
abstract class PhabricatorController extends AphrontController {
private $handles;
private $extraQuicksandConfig = array();
public function shouldRequireLogin() {
return true;
@@ -61,6 +62,15 @@ abstract class PhabricatorController extends AphrontController {
return false;
}
public function addExtraQuicksandConfig($config) {
$this->extraQuicksandConfig += $config;
return $this;
}
private function getExtraQuicksandConfig() {
return $this->extraQuicksandConfig;
}
public function willBeginExecution() {
$request = $this->getRequest();
@@ -294,7 +304,8 @@ abstract class PhabricatorController extends AphrontController {
private function buildPageResponse($page) {
if ($this->getRequest()->isQuicksand()) {
$response = id(new AphrontAjaxResponse())
->setContent($page->renderForQuicksand());
->setContent($page->renderForQuicksand(
$this->getExtraQuicksandConfig()));
} else {
$response = id(new AphrontWebpageResponse())
->setContent($page->render());