Changeset View
Changeset View
Standalone View
Standalone View
src/applications/home/application/PhabricatorHomeApplication.php
| <?php | <?php | ||||
| final class PhabricatorHomeApplication extends PhabricatorApplication { | final class PhabricatorHomeApplication extends PhabricatorApplication { | ||||
| private $quickItems; | |||||
| const DASHBOARD_DEFAULT = 'dashboard:default'; | const DASHBOARD_DEFAULT = 'dashboard:default'; | ||||
| public function getBaseURI() { | public function getBaseURI() { | ||||
| return '/home/'; | return '/home/'; | ||||
| } | } | ||||
| public function getName() { | public function getName() { | ||||
| return pht('Home'); | return pht('Home'); | ||||
| Show All 24 Lines | final class PhabricatorHomeApplication extends PhabricatorApplication { | ||||
| public function getApplicationOrder() { | public function getApplicationOrder() { | ||||
| return 9; | return 9; | ||||
| } | } | ||||
| public function buildMainMenuItems( | public function buildMainMenuItems( | ||||
| PhabricatorUser $user, | PhabricatorUser $user, | ||||
| PhabricatorController $controller = null) { | PhabricatorController $controller = null) { | ||||
| $quick_items = $this->getQuickActionItems($user); | |||||
| if (!$quick_items) { | |||||
| return array(); | |||||
| } | |||||
| $items = array(); | $items = array(); | ||||
| $create_id = celerity_generate_unique_node_id(); | $create_id = celerity_generate_unique_node_id(); | ||||
| Javelin::initBehavior( | Javelin::initBehavior( | ||||
| 'aphlict-dropdown', | 'aphlict-dropdown', | ||||
| array( | array( | ||||
| 'bubbleID' => $create_id, | 'bubbleID' => $create_id, | ||||
| 'dropdownID' => 'phabricator-quick-create-menu', | 'dropdownID' => 'phabricator-quick-create-menu', | ||||
| Show All 15 Lines | public function buildMainMenuItems( | ||||
| return $items; | return $items; | ||||
| } | } | ||||
| public function buildMainMenuExtraNodes( | public function buildMainMenuExtraNodes( | ||||
| PhabricatorUser $viewer, | PhabricatorUser $viewer, | ||||
| PhabricatorController $controller = null) { | PhabricatorController $controller = null) { | ||||
| $items = PhabricatorQuickActions::loadMenuItemsForUser($viewer); | $items = $this->getQuickActionItems($viewer); | ||||
| $view = null; | $view = null; | ||||
| if ($items) { | if ($items) { | ||||
| $view = new PHUIListView(); | $view = new PHUIListView(); | ||||
| foreach ($items as $item) { | foreach ($items as $item) { | ||||
| $view->addMenuItem($item); | $view->addMenuItem($item); | ||||
| } | } | ||||
| return phutil_tag( | return phutil_tag( | ||||
| 'div', | 'div', | ||||
| array( | array( | ||||
| 'id' => 'phabricator-quick-create-menu', | 'id' => 'phabricator-quick-create-menu', | ||||
| 'class' => 'phabricator-main-menu-dropdown phui-list-sidenav', | 'class' => 'phabricator-main-menu-dropdown phui-list-sidenav', | ||||
| 'style' => 'display: none', | 'style' => 'display: none', | ||||
| ), | ), | ||||
| $view); | $view); | ||||
| } | } | ||||
| return $view; | return $view; | ||||
| } | } | ||||
| private function getQuickActionItems(PhabricatorUser $viewer) { | |||||
| if ($this->quickItems === null) { | |||||
| $items = PhabricatorQuickActions::loadMenuItemsForUser($viewer); | |||||
| $this->quickItems = $items; | |||||
| } | |||||
| return $this->quickItems; | |||||
| } | |||||
| } | } | ||||