@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

+55 -39
+1
src/applications/drydock/controller/DrydockLeaseViewController.php
··· 39 39 $log_table->appendChild($pager); 40 40 41 41 $crumbs = $this->buildApplicationCrumbs(); 42 + $crumbs->setActionList($actions); 42 43 $crumbs->addCrumb( 43 44 id(new PhabricatorCrumbView()) 44 45 ->setName($title)
+1
src/applications/drydock/controller/DrydockResourceViewController.php
··· 51 51 $log_table->appendChild($pager); 52 52 53 53 $crumbs = $this->buildApplicationCrumbs(); 54 + $crumbs->setActionList($actions); 54 55 $crumbs->addCrumb( 55 56 id(new PhabricatorCrumbView()) 56 57 ->setName(pht('Resource %d', $resource->getID())));
+7 -8
src/applications/files/controller/PhabricatorFileInfoController.php
··· 22 22 } 23 23 24 24 $this->loadHandles(array($file->getAuthorPHID())); 25 - 26 25 $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 - 34 26 $header = id(new PhabricatorHeaderView()) 35 27 ->setHeader($file->getName()); 36 28 ··· 44 36 45 37 $actions = $this->buildActionView($file); 46 38 $properties = $this->buildPropertyView($file); 39 + 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}/"))); 47 46 48 47 return $this->buildApplicationPage( 49 48 array(
+2 -1
src/applications/macro/controller/PhabricatorMacroViewController.php
··· 30 30 $macro->getPHID()); 31 31 32 32 $this->loadHandles($subscribers); 33 + $actions = $this->buildActionView($macro); 33 34 34 35 $crumbs = $this->buildApplicationCrumbs(); 36 + $crumbs->setActionList($actions); 35 37 $crumbs->addCrumb( 36 38 id(new PhabricatorCrumbView()) 37 39 ->setHref($this->getApplicationURI('/view/'.$macro->getID().'/')) 38 40 ->setName($title_short)); 39 41 40 - $actions = $this->buildActionView($macro); 41 42 $properties = $this->buildPropertyView($macro, $file, $subscribers); 42 43 43 44 $xactions = id(new PhabricatorMacroTransactionQuery())
+1
src/applications/paste/controller/PhabricatorPasteViewController.php
··· 53 53 $source_code = $this->buildSourceCodeView($paste); 54 54 55 55 $crumbs = $this->buildApplicationCrumbs($this->buildSideNavView()) 56 + ->setActionList($actions) 56 57 ->addCrumb( 57 58 id(new PhabricatorCrumbView()) 58 59 ->setName('P'.$paste->getID())
+1
src/applications/pholio/controller/PholioMockViewController.php
··· 85 85 $add_comment = $this->buildAddCommentView($mock); 86 86 87 87 $crumbs = $this->buildApplicationCrumbs($this->buildSideNav()); 88 + $crumbs->setActionList($actions); 88 89 $crumbs->addCrumb( 89 90 id(new PhabricatorCrumbView()) 90 91 ->setName('M'.$mock->getID())
+2
src/applications/phortune/controller/PhortuneAccountViewController.php
··· 47 47 ->setHref('#') 48 48 ->setDisabled(true)); 49 49 50 + $crumbs->setActionList($actions); 51 + 50 52 $properties = id(new PhabricatorPropertyListView()) 51 53 ->setObject($account) 52 54 ->setUser($user);
+11 -10
src/applications/phortune/controller/PhortuneProductViewController.php
··· 23 23 24 24 $title = pht('Product: %s', $product->getProductName()); 25 25 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 - 36 26 $header = id(new PhabricatorHeaderView()) 37 27 ->setHeader($product->getProductName()); 38 28 ··· 45 35 ->setName(pht('Edit Product')) 46 36 ->setHref($edit_uri) 47 37 ->setIcon('edit')); 38 + 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())); 48 49 49 50 $properties = id(new PhabricatorPropertyListView()) 50 51 ->setUser($user)
+3 -2
src/applications/phriction/controller/PhrictionDocumentController.php
··· 224 224 225 225 $children = $this->renderDocumentChildren($slug); 226 226 227 + $actions = $this->buildActionView($user, $document); 228 + 227 229 $crumbs = $this->buildApplicationCrumbs(); 230 + $crumbs->setActionList($actions); 228 231 $crumb_views = $this->renderBreadcrumbs($slug); 229 232 foreach ($crumb_views as $view) { 230 233 $crumbs->addCrumb($view); 231 234 } 232 - 233 - $actions = $this->buildActionView($user, $document); 234 235 235 236 $header = id(new PhabricatorHeaderView()) 236 237 ->setHeader($page_title);
+16 -16
src/applications/ponder/controller/PonderController.php
··· 5 5 public function buildStandardPageResponse($view, array $data) { 6 6 7 7 $page = $this->buildStandardPageView(); 8 - $page->setApplicationName('Ponder!'); 8 + $page->setApplicationName(pht('Ponder!')); 9 9 $page->setBaseURI('/ponder/'); 10 10 $page->setTitle(idx($data, 'title')); 11 11 $page->setGlyph("\xE2\x97\xB3"); ··· 20 20 $side_nav = new AphrontSideNavFilterView(); 21 21 $side_nav->setBaseURI(new PhutilURI($this->getApplicationURI())); 22 22 23 - if ($question && $question->getID()) { 24 - $side_nav->addFilter( 25 - null, 26 - 'Q'.$question->getID(), 27 - 'Q'.$question->getID()); 28 - } 29 - 30 - $side_nav->addLabel('Create'); 31 - $side_nav->addFilter('question/ask', 'Ask a Question'); 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')); 32 27 33 - $side_nav->addLabel('Questions'); 34 - $side_nav->addFilter('feed', 'All Questions'); 28 + return $side_nav; 29 + } 35 30 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')); 39 39 40 - return $side_nav; 40 + return $crumbs; 41 41 } 42 42 43 43 }
+1
src/applications/ponder/controller/PonderFeedController.php
··· 80 80 array( 81 81 'device' => true, 82 82 'title' => $title, 83 + 'dust' => true, 83 84 )); 84 85 } 85 86
+8 -1
src/applications/ponder/controller/PonderQuestionViewController.php
··· 64 64 ->setActionURI("/ponder/answer/add/"); 65 65 66 66 $header = id(new PhabricatorHeaderView()) 67 - ->setObjectName('Q'.$question->getID()) 68 67 ->setHeader($question->getTitle()); 69 68 70 69 $actions = $this->buildActionListView($question); 71 70 $properties = $this->buildPropertyListView($question, $subscribers); 72 71 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 + 73 79 $nav = $this->buildSideNavView($question); 74 80 $nav->appendChild( 75 81 array( 82 + $crumbs, 76 83 $header, 77 84 $actions, 78 85 $properties,
+1 -1
src/view/layout/PhabricatorCrumbsView.php
··· 30 30 require_celerity_resource('phabricator-crumbs-view-css'); 31 31 32 32 $action_view = null; 33 - if ($this->actions) { 33 + if (($this->actions) || ($this->actionListID)) { 34 34 $actions = array(); 35 35 foreach ($this->actions as $action) { 36 36 $icon = null;