diff --git a/library/Icingadb/Widget/HostSummaryDonut.php b/library/Icingadb/Widget/HostSummaryDonut.php index c7e7c5f1..d0144b64 100644 --- a/library/Icingadb/Widget/HostSummaryDonut.php +++ b/library/Icingadb/Widget/HostSummaryDonut.php @@ -17,7 +17,7 @@ use ipl\Html\Text; use ipl\Stdlib\BaseFilter; use ipl\Stdlib\Filter; use ipl\Web\Common\Card; -use ipl\Web\Filter\QueryString; +use ipl\Web\Widget\ActionLink; class HostSummaryDonut extends Card { @@ -67,12 +67,21 @@ class HostSummaryDonut extends Card protected function assembleHeader(BaseHtmlElement $header) { + $filter = Filter::all(); + + if ($this->hasBaseFilter()) { + $filter->add($this->getBaseFilter()); + } + $header->addHtml( new HtmlElement('h2', null, Text::create(t('Hosts'))), new HtmlElement('span', Attributes::create(['class' => 'meta']), TemplateString::create( - t('{{#total}}Total{{/total}} %d'), - ['total' => new HtmlElement('span')], - (int) $this->summary->hosts_total + t('{{#total}}Total{{/total}} {{#link}}%d{{/link}}'), + [ + 'total' => new HtmlElement('span'), + 'link' => new ActionLink(null, Links::hosts()->setFilter($filter)) + ], + $this->summary->hosts_total )) ); } diff --git a/library/Icingadb/Widget/ServiceSummaryDonut.php b/library/Icingadb/Widget/ServiceSummaryDonut.php index 94efa48b..b553c395 100644 --- a/library/Icingadb/Widget/ServiceSummaryDonut.php +++ b/library/Icingadb/Widget/ServiceSummaryDonut.php @@ -17,6 +17,7 @@ use ipl\Html\Text; use ipl\Stdlib\BaseFilter; use ipl\Stdlib\Filter; use ipl\Web\Common\Card; +use ipl\Web\Widget\ActionLink; class ServiceSummaryDonut extends Card { @@ -70,12 +71,21 @@ class ServiceSummaryDonut extends Card protected function assembleHeader(BaseHtmlElement $header) { + $filter = Filter::all(); + + if ($this->hasBaseFilter()) { + $filter->add($this->getBaseFilter()); + } + $header->addHtml( new HtmlElement('h2', null, Text::create(t('Services'))), new HtmlElement('span', Attributes::create(['class' => 'meta']), TemplateString::create( - t('{{#total}}Total{{/total}} %d'), - ['total' => new HtmlElement('span')], - (int) $this->summary->services_total + t('{{#total}}Total{{/total}} {{#link}}%d{{/link}}'), + [ + 'total' => new HtmlElement('span'), + 'link' => new ActionLink(null, Links::services()->setFilter($filter)) + ], + $this->summary->services_total )) ); } diff --git a/public/css/widget/donut-container.less b/public/css/widget/donut-container.less index 13d2a132..9a5bda6e 100644 --- a/public/css/widget/donut-container.less +++ b/public/css/widget/donut-container.less @@ -4,6 +4,17 @@ .donut-container { .card(); + .card-header > .meta { + > span { + color: @text-color-light; + } + + > .action-link { + font-weight: bold; + font-size: 1.1em; + } + } + h2 { margin: 0; }