diff --git a/library/Businessprocess/Renderer/Renderer.php b/library/Businessprocess/Renderer/Renderer.php index c6fbbb6..4c9a8de 100644 --- a/library/Businessprocess/Renderer/Renderer.php +++ b/library/Businessprocess/Renderer/Renderer.php @@ -6,6 +6,7 @@ use Icinga\Exception\ProgrammingError; use Icinga\Module\Businessprocess\BpNode; use Icinga\Module\Businessprocess\BpConfig; use Icinga\Module\Businessprocess\ImportedNode; +use Icinga\Module\Businessprocess\MonitoredNode; use Icinga\Module\Businessprocess\Node; use Icinga\Module\Businessprocess\Web\Url; use ipl\Html\BaseHtmlElement; @@ -176,9 +177,13 @@ abstract class Renderer extends HtmlDocument if ($node->isMissing()) { $classes = array('missing'); } else { - $classes = array( - strtolower($node->getStateName()) - ); + if ($node->isEmpty() && ! $node instanceof MonitoredNode) { + $classes = array('empty'); + } else { + $classes = array( + strtolower($node->getStateName()) + ); + } if ($node->hasMissingChildren()) { $classes[] = 'missing-children'; } diff --git a/library/Businessprocess/Renderer/TileRenderer/NodeTile.php b/library/Businessprocess/Renderer/TileRenderer/NodeTile.php index d359d1d..b393724 100644 --- a/library/Businessprocess/Renderer/TileRenderer/NodeTile.php +++ b/library/Businessprocess/Renderer/TileRenderer/NodeTile.php @@ -85,7 +85,7 @@ class NodeTile extends BaseHtmlElement $this->addActionLinks(); } } - if (! $node instanceof ImportedNode || ! $node->isMissing()) { + if (! $node instanceof ImportedNode || $node->getBpConfig()->hasNode($node->getName())) { $link = $this->getMainNodeLink(); if ($renderer->isBreadcrumb()) { $link->prepend((new StateBall(strtolower($node->getStateName())))->addAttributes([ @@ -202,7 +202,7 @@ class NodeTile extends BaseHtmlElement Html::tag('i', ['class' => 'icon icon-sitemap']) )); if ($node instanceof ImportedNode) { - if (! $node->isMissing()) { + if ($node->getBpConfig()->hasNode($node->getName())) { $this->actions()->add(Html::tag( 'a', [