Path: blob/master/src/view/layout/PHUIApplicationMenuView.php
12241 views
<?php12final class PHUIApplicationMenuView extends Phobject {34private $viewer;5private $crumbs;6private $searchEngine;7private $profileMenu;89private $items = array();1011public function setViewer(PhabricatorUser $viewer) {12$this->viewer = $viewer;13return $this;14}1516public function getViewer() {17return $this->viewer;18}1920public function addLabel($name) {21$item = id(new PHUIListItemView())22->setName($name);2324return $this->addItem($item);25}2627public function addLink($name, $href) {28$item = id(new PHUIListItemView())29->setName($name)30->setHref($href);3132return $this->addItem($item);33}3435public function setProfileMenu(36AphrontSideNavFilterView $nav) {37$this->profileMenu = $nav;38return $this;39}4041public function getProfileMenu() {42return $this->profileMenu;43}4445public function addItem(PHUIListItemView $item) {46$this->items[] = $item;47return $this;48}4950public function setSearchEngine(PhabricatorApplicationSearchEngine $engine) {51$this->searchEngine = $engine;52return $this;53}5455public function getSearchEngine() {56return $this->searchEngine;57}5859public function setCrumbs(PHUICrumbsView $crumbs) {60$this->crumbs = $crumbs;61return $this;62}6364public function getCrumbs() {65return $this->crumbs;66}6768public function buildListView() {69$viewer = $this->getViewer();7071$view = id(new PHUIListView())72->setUser($viewer);7374$profile_menu = $this->getProfileMenu();75if ($profile_menu) {76foreach ($profile_menu->getMenu()->getItems() as $item) {77if ($item->getHideInApplicationMenu()) {78continue;79}8081$item = clone $item;82$view->addMenuItem($item);83}84}8586$crumbs = $this->getCrumbs();87if ($crumbs) {88$actions = $crumbs->getActions();89if ($actions) {90$view->newLabel(pht('Create'));91foreach ($crumbs->getActions() as $action) {92$view->addMenuItem($action);93}94}95}9697$engine = $this->getSearchEngine();98if ($engine) {99$engine100->setViewer($viewer)101->addNavigationItems($view);102}103104foreach ($this->items as $item) {105$view->addMenuItem($item);106}107108return $view;109}110111}112113114