Skip to content

Commit c51f45f

Browse files
committed
Add actions to mobile crumbs
Summary: Adds in the ActionList into Crumbs for mobile on many applications. Test Plan: Tested each application except probably drydock since not sure how to test that. Also cleaned up Ponder a little. Reviewers: epriestley, btrahan Reviewed By: epriestley CC: aran, Korvin Differential Revision: https://secure.phabricator.com/D5648
1 parent 0b1410b commit c51f45f

13 files changed

+55
-39
lines changed

src/applications/drydock/controller/DrydockLeaseViewController.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public function processRequest() {
3939
$log_table->appendChild($pager);
4040

4141
$crumbs = $this->buildApplicationCrumbs();
42+
$crumbs->setActionList($actions);
4243
$crumbs->addCrumb(
4344
id(new PhabricatorCrumbView())
4445
->setName($title)

src/applications/drydock/controller/DrydockResourceViewController.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ public function processRequest() {
5151
$log_table->appendChild($pager);
5252

5353
$crumbs = $this->buildApplicationCrumbs();
54+
$crumbs->setActionList($actions);
5455
$crumbs->addCrumb(
5556
id(new PhabricatorCrumbView())
5657
->setName(pht('Resource %d', $resource->getID())));

src/applications/files/controller/PhabricatorFileInfoController.php

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,7 @@ public function processRequest() {
2222
}
2323

2424
$this->loadHandles(array($file->getAuthorPHID()));
25-
2625
$phid = $file->getPHID();
27-
28-
$crumbs = $this->buildApplicationCrumbs();
29-
$crumbs->addCrumb(
30-
id(new PhabricatorCrumbView())
31-
->setName('F'.$file->getID())
32-
->setHref($this->getApplicationURI("/info/{$phid}/")));
33-
3426
$header = id(new PhabricatorHeaderView())
3527
->setHeader($file->getName());
3628

@@ -45,6 +37,13 @@ public function processRequest() {
4537
$actions = $this->buildActionView($file);
4638
$properties = $this->buildPropertyView($file);
4739

40+
$crumbs = $this->buildApplicationCrumbs();
41+
$crumbs->setActionList($actions);
42+
$crumbs->addCrumb(
43+
id(new PhabricatorCrumbView())
44+
->setName('F'.$file->getID())
45+
->setHref($this->getApplicationURI("/info/{$phid}/")));
46+
4847
return $this->buildApplicationPage(
4948
array(
5049
$crumbs,

src/applications/macro/controller/PhabricatorMacroViewController.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,15 @@ public function processRequest() {
3030
$macro->getPHID());
3131

3232
$this->loadHandles($subscribers);
33+
$actions = $this->buildActionView($macro);
3334

3435
$crumbs = $this->buildApplicationCrumbs();
36+
$crumbs->setActionList($actions);
3537
$crumbs->addCrumb(
3638
id(new PhabricatorCrumbView())
3739
->setHref($this->getApplicationURI('/view/'.$macro->getID().'/'))
3840
->setName($title_short));
3941

40-
$actions = $this->buildActionView($macro);
4142
$properties = $this->buildPropertyView($macro, $file, $subscribers);
4243

4344
$xactions = id(new PhabricatorMacroTransactionQuery())

src/applications/paste/controller/PhabricatorPasteViewController.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ public function processRequest() {
5353
$source_code = $this->buildSourceCodeView($paste);
5454

5555
$crumbs = $this->buildApplicationCrumbs($this->buildSideNavView())
56+
->setActionList($actions)
5657
->addCrumb(
5758
id(new PhabricatorCrumbView())
5859
->setName('P'.$paste->getID())

src/applications/pholio/controller/PholioMockViewController.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ public function processRequest() {
8585
$add_comment = $this->buildAddCommentView($mock);
8686

8787
$crumbs = $this->buildApplicationCrumbs($this->buildSideNav());
88+
$crumbs->setActionList($actions);
8889
$crumbs->addCrumb(
8990
id(new PhabricatorCrumbView())
9091
->setName('M'.$mock->getID())

src/applications/phortune/controller/PhortuneAccountViewController.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ public function processRequest() {
4747
->setHref('#')
4848
->setDisabled(true));
4949

50+
$crumbs->setActionList($actions);
51+
5052
$properties = id(new PhabricatorPropertyListView())
5153
->setObject($account)
5254
->setUser($user);

src/applications/phortune/controller/PhortuneProductViewController.php

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,6 @@ public function processRequest() {
2323

2424
$title = pht('Product: %s', $product->getProductName());
2525

26-
$crumbs = $this->buildApplicationCrumbs();
27-
$crumbs->addCrumb(
28-
id(new PhabricatorCrumbView())
29-
->setName(pht('Products'))
30-
->setHref($this->getApplicationURI('product/')));
31-
$crumbs->addCrumb(
32-
id(new PhabricatorCrumbView())
33-
->setName(pht('#%d', $product->getID()))
34-
->setHref($request->getRequestURI()));
35-
3626
$header = id(new PhabricatorHeaderView())
3727
->setHeader($product->getProductName());
3828

@@ -46,6 +36,17 @@ public function processRequest() {
4636
->setHref($edit_uri)
4737
->setIcon('edit'));
4838

39+
$crumbs = $this->buildApplicationCrumbs();
40+
$crumbs->setActionList($actions);
41+
$crumbs->addCrumb(
42+
id(new PhabricatorCrumbView())
43+
->setName(pht('Products'))
44+
->setHref($this->getApplicationURI('product/')));
45+
$crumbs->addCrumb(
46+
id(new PhabricatorCrumbView())
47+
->setName(pht('#%d', $product->getID()))
48+
->setHref($request->getRequestURI()));
49+
4950
$properties = id(new PhabricatorPropertyListView())
5051
->setUser($user)
5152
->addProperty(pht('Type'), $product->getTypeName())

src/applications/phriction/controller/PhrictionDocumentController.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -224,14 +224,15 @@ public function processRequest() {
224224

225225
$children = $this->renderDocumentChildren($slug);
226226

227+
$actions = $this->buildActionView($user, $document);
228+
227229
$crumbs = $this->buildApplicationCrumbs();
230+
$crumbs->setActionList($actions);
228231
$crumb_views = $this->renderBreadcrumbs($slug);
229232
foreach ($crumb_views as $view) {
230233
$crumbs->addCrumb($view);
231234
}
232235

233-
$actions = $this->buildActionView($user, $document);
234-
235236
$header = id(new PhabricatorHeaderView())
236237
->setHeader($page_title);
237238

src/applications/ponder/controller/PonderController.php

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ abstract class PonderController extends PhabricatorController {
55
public function buildStandardPageResponse($view, array $data) {
66

77
$page = $this->buildStandardPageView();
8-
$page->setApplicationName('Ponder!');
8+
$page->setApplicationName(pht('Ponder!'));
99
$page->setBaseURI('/ponder/');
1010
$page->setTitle(idx($data, 'title'));
1111
$page->setGlyph("\xE2\x97\xB3");
@@ -20,24 +20,24 @@ protected function buildSideNavView(PonderQuestion $question = null) {
2020
$side_nav = new AphrontSideNavFilterView();
2121
$side_nav->setBaseURI(new PhutilURI($this->getApplicationURI()));
2222

23-
if ($question && $question->getID()) {
24-
$side_nav->addFilter(
25-
null,
26-
'Q'.$question->getID(),
27-
'Q'.$question->getID());
28-
}
23+
$side_nav->addLabel(pht('Questions'));
24+
$side_nav->addFilter('feed', pht('All Questions'));
25+
$side_nav->addFilter('questions', pht('Your Questions'));
26+
$side_nav->addFilter('answers', pht('Your Answers'));
2927

30-
$side_nav->addLabel('Create');
31-
$side_nav->addFilter('question/ask', 'Ask a Question');
32-
33-
$side_nav->addLabel('Questions');
34-
$side_nav->addFilter('feed', 'All Questions');
28+
return $side_nav;
29+
}
3530

36-
$side_nav->addLabel('User');
37-
$side_nav->addFilter('questions', 'Your Questions');
38-
$side_nav->addFilter('answers', 'Your Answers');
31+
public function buildApplicationCrumbs() {
32+
$crumbs = parent::buildApplicationCrumbs();
33+
$crumbs
34+
->addAction(
35+
id(new PhabricatorMenuItemView())
36+
->setName(pht('New Question'))
37+
->setHref('question/ask')
38+
->setIcon('create'));
3939

40-
return $side_nav;
40+
return $crumbs;
4141
}
4242

4343
}

src/applications/ponder/controller/PonderFeedController.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ public function processRequest() {
8080
array(
8181
'device' => true,
8282
'title' => $title,
83+
'dust' => true,
8384
));
8485
}
8586

src/applications/ponder/controller/PonderQuestionViewController.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,15 +64,22 @@ public function processRequest() {
6464
->setActionURI("/ponder/answer/add/");
6565

6666
$header = id(new PhabricatorHeaderView())
67-
->setObjectName('Q'.$question->getID())
6867
->setHeader($question->getTitle());
6968

7069
$actions = $this->buildActionListView($question);
7170
$properties = $this->buildPropertyListView($question, $subscribers);
7271

72+
$crumbs = $this->buildApplicationCrumbs($this->buildSideNavView());
73+
$crumbs->setActionList($actions);
74+
$crumbs->addCrumb(
75+
id(new PhabricatorCrumbView())
76+
->setName('Q'.$this->questionID)
77+
->setHref('/Q'.$this->questionID));
78+
7379
$nav = $this->buildSideNavView($question);
7480
$nav->appendChild(
7581
array(
82+
$crumbs,
7683
$header,
7784
$actions,
7885
$properties,

src/view/layout/PhabricatorCrumbsView.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public function render() {
3030
require_celerity_resource('phabricator-crumbs-view-css');
3131

3232
$action_view = null;
33-
if ($this->actions) {
33+
if (($this->actions) || ($this->actionListID)) {
3434
$actions = array();
3535
foreach ($this->actions as $action) {
3636
$icon = null;

0 commit comments

Comments
 (0)