mirror of
https://github.com/Icinga/icingaweb2.git
synced 2025-04-08 17:15:08 +02:00
Only display custom menu renders on XHR requests and not in regular HTML
The main navigation should be rendered without a working backend. fixes #7143
This commit is contained in:
parent
b7c207a9cb
commit
71f55e388f
@ -23,7 +23,7 @@ class LayoutController extends ActionController
|
||||
|
||||
$url = Url::fromRequest();
|
||||
$menu = new MenuRenderer(Menu::load(), $url->getRelativeUrl());
|
||||
$this->view->menuRenderer = $menu->useCustomRenderers();
|
||||
$this->view->menuRenderer = $menu->useCustomRenderer();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -12,7 +12,7 @@ if (! $this->auth()->isAuthenticated()) {
|
||||
|
||||
?>
|
||||
<div
|
||||
id="menu" data-base-target="_main" class="container" data-icinga-url="<?=$this->href('layout/menu');?>"
|
||||
id="menu" data-last-update="<?= (time() - 14) ?>000" data-base-target="_main" class="container" data-icinga-url="<?=$this->href('layout/menu');?>"
|
||||
data-icinga-refresh="15"
|
||||
>
|
||||
<? if (SearchDashboard::search('dummy')->getPane('search')->hasComponents()): ?>
|
||||
|
@ -25,6 +25,11 @@ class MenuRenderer extends RecursiveIteratorIterator
|
||||
*/
|
||||
protected $tags = array();
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
protected $useCustomRenderer = false;
|
||||
|
||||
/**
|
||||
* Create a new MenuRenderer
|
||||
*
|
||||
@ -41,6 +46,15 @@ class MenuRenderer extends RecursiveIteratorIterator
|
||||
parent::__construct($menu, RecursiveIteratorIterator::CHILD_FIRST);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param bool $value
|
||||
*/
|
||||
public function useCustomRenderer($value = true)
|
||||
{
|
||||
$this->useCustomRenderer = $value;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Register the outer ul opening html-tag
|
||||
*/
|
||||
@ -91,7 +105,7 @@ class MenuRenderer extends RecursiveIteratorIterator
|
||||
*/
|
||||
public function renderChild(Menu $child)
|
||||
{
|
||||
if ($child->getRenderer() !== null) {
|
||||
if ($child->getRenderer() !== null && $this->useCustomRenderer) {
|
||||
return $child->getRenderer()->render($child);
|
||||
}
|
||||
return sprintf(
|
||||
|
Loading…
x
Reference in New Issue
Block a user