Make workboards truly 'fixed' in display

Summary:
**WIP**

This sets a shadow fixed to the full screen of the browser for which panels to live in. I have some minor things to fix, but play with it.

Specifically I haven't been able to dig up when stuff that overflowwed, doesn't always render even after scroll.

Test Plan: Test on a board with many tasks, many panels, small screens. Test on mobile too!

Reviewers: epriestley, btrahan

Reviewed By: btrahan

Subscribers: qgil, epriestley, Korvin

Differential Revision: https://secure.phabricator.com/D9005
This commit is contained in:
Chad Little
2014-05-08 14:21:32 -07:00
parent 61dd5ab6c1
commit 38739755c6
8 changed files with 68 additions and 54 deletions

View File

@@ -150,55 +150,45 @@ final class PhabricatorProjectBoardViewController
$board->addPanel($panel);
}
$crumbs = $this->buildApplicationCrumbs();
$crumbs->addTextCrumb(pht('Board'));
$can_edit = PhabricatorPolicyFilter::hasCapability(
$viewer,
$project,
PhabricatorPolicyCapability::CAN_EDIT);
$actions = id(new PhabricatorActionListView())
->setUser($viewer)
->addAction(
id(new PhabricatorActionView())
->setName(pht('Add Column'))
->setHref($this->getApplicationURI('board/'.$this->id.'/edit/'))
->setIcon('create')
->setDisabled(!$can_edit)
->setWorkflow(!$can_edit));
$add_icon = id(new PHUIIconView())
->setIconFont('fa-plus bluegrey');
$plist = id(new PHUIPropertyListView());
$add_button = id(new PHUIButtonView())
->setText(pht('Add Column'))
->setIcon($add_icon)
->setTag('a')
->setHref($this->getApplicationURI('board/'.$this->id.'/edit/'))
->setDisabled(!$can_edit)
->setWorkflow(!$can_edit);
// TODO: Need this to get actions to render.
$plist->addProperty(
pht('Project Boards'),
phutil_tag(
'em',
array(),
pht(
'This feature is beta, but should mostly work.')));
$plist->setActionList($actions);
$header_link = phutil_tag(
'a',
array(
'href' => $this->getApplicationURI('view/'.$project->getID().'/')
),
$project->getName());
$header = id(new PHUIHeaderView())
->setHeader($project->getName())
->setHeader($header_link)
->setUser($viewer)
->setNoBackground(true)
->setImage($project->getProfileImageURI())
->setImageURL($this->getApplicationURI('view/'.$project->getID().'/'))
->addActionLink($add_button)
->setPolicyObject($project);
$box = id(new PHUIObjectBoxView())
->setHeader($header)
->addPropertyList($plist);
$board_box = id(new PHUIBoxView())
->appendChild($board)
->addClass('project-board-wrapper')
->addMargin(PHUI::MARGIN_LARGE);
->addClass('project-board-wrapper');
return $this->buildApplicationPage(
array(
$crumbs,
$box,
$header,
$board_box,
),
array(