1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-29 18:22:41 +01:00

Add crumbs to Differential

Summary: Adds very basic crumbs to Differential, to prevent regression when we drop the application menu. I'll do a more proper pass at this but want to unblock landing the commit sequence for all this stuff.

Test Plan: Looked at detail view and list view, saw crumbs, clicked them.

Reviewers: chad

Reviewed By: chad

CC: aran

Maniphest Tasks: T1960

Differential Revision: https://secure.phabricator.com/D4111
This commit is contained in:
epriestley 2012-12-07 13:37:45 -08:00
parent f306cab653
commit cd2e39025e
6 changed files with 42 additions and 16 deletions

View file

@ -24,4 +24,17 @@ abstract class DifferentialController extends PhabricatorController {
return $response->setContent($page->render()); return $response->setContent($page->render());
} }
public function buildApplicationCrumbs() {
$crumbs = parent::buildApplicationCrumbs();
$create_uri = new PhutilURI('/differential/diff/create/');
$crumbs->addAction(
id(new PhabricatorMenuItemView())
->setHref($this->getApplicationURI('/diff/create/'))
->setName('Create Diff')
->setIcon('create'));
return $crumbs;
}
} }

View file

@ -175,25 +175,24 @@ final class DifferentialRevisionListController extends DifferentialController {
$filter_view = new AphrontListFilterView(); $filter_view = new AphrontListFilterView();
$filter_view->appendChild($filter_form); $filter_view->appendChild($filter_form);
if (!$viewer_is_anonymous) {
$create_uri = new PhutilURI('/differential/diff/create/');
$filter_view->addButton(
phutil_render_tag(
'a',
array(
'href' => (string)$create_uri,
'class' => 'green button',
),
'Create Revision'));
}
$side_nav->appendChild($filter_view); $side_nav->appendChild($filter_view);
foreach ($panels as $panel) { foreach ($panels as $panel) {
$side_nav->appendChild($panel); $side_nav->appendChild($panel);
} }
return $this->buildStandardPageResponse( $crumbs = $this->buildApplicationCrumbs();
$name = $side_nav
->getMenu()
->getItem($side_nav->getSelectedFilter())
->getName();
$crumbs->addCrumb(
id(new PhabricatorCrumbView())
->setName($name)
->setHref($request->getRequestURI()));
$side_nav->setCrumbs($crumbs);
return $this->buildApplicationPage(
$side_nav, $side_nav,
array( array(
'title' => 'Differential Home', 'title' => 'Differential Home',

View file

@ -411,10 +411,19 @@ final class DifferentialRevisionViewController extends DifferentialController {
$page_pane, $page_pane,
)); ));
$object_id = 'D'.$revision->getID();
$crumbs = $this->buildApplicationCrumbs();
$crumbs->addCrumb(
id(new PhabricatorCrumbView())
->setName($object_id)
->setHref('/'.$object_id));
$nav->setCrumbs($crumbs);
return $this->buildApplicationPage( return $this->buildApplicationPage(
$nav, $nav,
array( array(
'title' => 'D'.$revision->getID().' '.$revision->getTitle(), 'title' => $object_id.' '.$revision->getTitle(),
)); ));
} }

View file

@ -83,7 +83,7 @@ final class AphrontSideNavFilterView extends AphrontView {
$uri = null) { $uri = null) {
$item = id(new PhabricatorMenuItemView()) $item = id(new PhabricatorMenuItemView())
->setKey($key) ->setKey(strlen($key) ? $key : null)
->setName($name); ->setName($name);
if ($uri) { if ($uri) {

View file

@ -43,7 +43,7 @@ final class PhabricatorCrumbView extends AphrontView {
'span', 'span',
array( array(
'class' => 'phabricator-crumb-icon '. 'class' => 'phabricator-crumb-icon '.
'sprite-apps-large app-'.$this->icon.'-dark', 'sprite-apps-large app-'.$this->icon.'-dark-large',
), ),
''); '');
} }

View file

@ -13,6 +13,11 @@
vertical-align: top; vertical-align: top;
box-shadow: 0 1px rgba(0, 0, 0, 0.25); box-shadow: 0 1px rgba(0, 0, 0, 0.25);
/* TODO: Position this over the slider for Differential's file tree view.
Remove this once that gets sorted out. */
position: relative;
z-index: 5;
} }
.phabricator-crumbs-view, .phabricator-crumbs-view,