public function render() { $selected_filter = $this->getSelectedFilter(); if (!$selected_filter) { throw new Exception("Call setFilter() before render()!"); } $filters = array('Files' => array(), 'upload' => array('name' => 'Upload File', 'href' => '/file/filter/upload/'), 'my' => array('name' => 'My Files', 'href' => '/file/filter/my/'), 'all' => array('name' => 'All Files', 'href' => '/file/filter/all/'), '<hr />' => array(), 'Image Macros' => array(), 'create_macro' => array('name' => 'Create Image Macro', 'href' => '/file/macro/edit/'), 'all_macros' => array('name' => 'All Image Macros', 'href' => '/file/macro/')); $side_nav = new AphrontSideNavView(); foreach ($filters as $filter_key => $filter) { // more of a label than a filter if (empty($filter)) { $side_nav->addNavItem(phutil_render_tag('span', array(), $filter_key)); continue; } $selected = $filter_key == $selected_filter; $side_nav->addNavItem(phutil_render_tag('a', array('href' => $filter['href'], 'class' => $selected ? 'aphront-side-nav-selected' : null), $filter['name'])); } $side_nav->appendChild($this->renderChildren()); return $side_nav->render(); }
public function render() { $selected_filter = $this->getSelectedFilter(); if (!$selected_filter) { throw new Exception("Call setFilter() before render()!"); } $filters = array('Files' => array(), 'upload' => array('name' => 'Upload File', 'href' => '/file/filter/upload/'), 'my' => array('name' => 'My Files', 'href' => '/file/filter/my/'), 'all' => array('name' => 'All Files', 'href' => '/file/filter/all/'), '<br />' => null, '<div style="font-weight: normal; font-size: smaller; ' . 'white-space: normal;">NOTE: Macros have moved to a separate ' . 'application. Use the "Search" field to jump to it or choose ' . 'More Stuff » Macros from the home page.</span>' => null); $side_nav = new AphrontSideNavView(); foreach ($filters as $filter_key => $filter) { // more of a label than a filter if (empty($filter)) { $side_nav->addNavItem(phutil_render_tag('span', array(), $filter_key)); continue; } $selected = $filter_key == $selected_filter; $side_nav->addNavItem(phutil_render_tag('a', array('href' => $filter['href'], 'class' => $selected ? 'aphront-side-nav-selected' : null), $filter['name'])); } $side_nav->appendChild($this->renderChildren()); return $side_nav->render(); }
public function render() { if (!$this->baseURI) { throw new Exception("Call setBaseURI() before render()!"); } if ($this->selectedFilter === false) { throw new Exception("Call selectFilter() before render()!"); } $view = new AphrontSideNavView(); foreach ($this->items as $item) { list($type, $key, $name) = $item; switch ($type) { case 'spacer': $view->addNavItem('<br />'); break; case 'label': $view->addNavItem(phutil_render_tag('span', array(), phutil_escape_html($name))); break; case 'filter': $class = $key == $this->selectedFilter ? 'aphront-side-nav-selected' : null; if (empty($item['uri'])) { $href = clone $this->baseURI; $href->setPath($href->getPath() . $key . '/'); $href = (string) $href; } else { $href = $item['uri']; } $view->addNavItem(phutil_render_tag('a', array('href' => $href, 'class' => $class), phutil_escape_html($name))); break; default: throw new Exception("Unknown item type '{$type}'."); } } $view->appendChild($this->renderChildren()); return $view->render(); }
public function render() { if ($this->items) { if (!$this->baseURI) { throw new Exception("Call setBaseURI() before render()!"); } if ($this->selectedFilter === false) { throw new Exception("Call selectFilter() before render()!"); } } $view = new AphrontSideNavView(); $view->setFlexNav($this->flexNav); $view->setFlexible($this->flexible); $view->setShowApplicationMenu($this->showApplicationMenu); $view->setActive($this->active); if ($this->user) { $view->setUser($this->user); } if ($this->currentApplication) { $view->setCurrentApplication($this->currentApplication); } foreach ($this->items as $item) { list($type, $key, $name) = $item; switch ($type) { case 'custom': $view->addNavItem($name); break; case 'spacer': $view->addNavItem('<br />'); break; case 'label': $view->addNavItem(phutil_render_tag('span', array(), phutil_escape_html($name))); break; case 'filter': $class = $key == $this->selectedFilter ? 'aphront-side-nav-selected' : null; $class = trim($class . ' ' . idx($item, 'class', '')); if (empty($item['uri'])) { $href = clone $this->baseURI; $href->setPath($href->getPath() . $key . '/'); $href = (string) $href; } else { if (empty($item['relative'])) { $href = $item['uri']; } else { $href = clone $this->baseURI; $href->setPath($href->getPath() . $item['uri']); $href = (string) $href; } } $view->addNavItem(phutil_render_tag('a', array('href' => $href, 'class' => $class), phutil_escape_html($name))); break; default: throw new Exception("Unknown item type '{$type}'."); } } $view->appendChild($this->renderChildren()); return $view->render(); }