From 505471c51926755f472a691de0789ae652042b3a Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Tue, 22 Jan 2019 11:21:40 +0100 Subject: [PATCH] Node: Introduce `$icon` property --- library/Businessprocess/BpNode.php | 6 ++++++ library/Businessprocess/HostNode.php | 2 ++ library/Businessprocess/ImportedNode.php | 2 ++ library/Businessprocess/Node.php | 12 ++++++++++++ library/Businessprocess/ServiceNode.php | 2 ++ 5 files changed, 24 insertions(+) diff --git a/library/Businessprocess/BpNode.php b/library/Businessprocess/BpNode.php index 89586fa..f244343 100644 --- a/library/Businessprocess/BpNode.php +++ b/library/Businessprocess/BpNode.php @@ -520,4 +520,10 @@ class BpNode extends Node return 'min:' . $this->operator; } } + + public function getIcon() + { + $this->icon = $this->hasParents() ? 'cubes' : 'sitemap'; + return parent::getIcon(); + } } diff --git a/library/Businessprocess/HostNode.php b/library/Businessprocess/HostNode.php index 130cebe..cea73c2 100644 --- a/library/Businessprocess/HostNode.php +++ b/library/Businessprocess/HostNode.php @@ -32,6 +32,8 @@ class HostNode extends MonitoredNode protected $className = 'host'; + protected $icon = 'host'; + public function __construct(BpConfig $bp, $object) { $this->name = $object->hostname . ';Hoststatus'; diff --git a/library/Businessprocess/ImportedNode.php b/library/Businessprocess/ImportedNode.php index 00c65f7..dcb9944 100644 --- a/library/Businessprocess/ImportedNode.php +++ b/library/Businessprocess/ImportedNode.php @@ -22,6 +22,8 @@ class ImportedNode extends Node protected $className = 'subtree'; + protected $icon = 'download'; + /** @var BpConfig */ private $config; diff --git a/library/Businessprocess/Node.php b/library/Businessprocess/Node.php index 0247382..6784965 100644 --- a/library/Businessprocess/Node.php +++ b/library/Businessprocess/Node.php @@ -83,6 +83,13 @@ abstract class Node // obsolete protected $duration; + /** + * This node's icon + * + * @var string + */ + protected $icon; + /** * Last state change, unix timestamp * @@ -382,6 +389,11 @@ abstract class Node return Html::tag('a', ['href' => '#'], $this->getAlias()); } + public function getIcon() + { + return Html::tag('i', ['class' => 'icon icon-' . ($this->icon ?: 'attention-circled')]); + } + public function operatorHtml() { return ' '; diff --git a/library/Businessprocess/ServiceNode.php b/library/Businessprocess/ServiceNode.php index 517b059..153b010 100644 --- a/library/Businessprocess/ServiceNode.php +++ b/library/Businessprocess/ServiceNode.php @@ -12,6 +12,8 @@ class ServiceNode extends MonitoredNode protected $className = 'service'; + protected $icon = 'service'; + public function __construct(BpConfig $bp, $object) { $this->name = $object->hostname . ';' . $object->service;