setTitle($this->translate('Tactical Overview')); $db = $this->getDb(); $hoststateSummary = HoststateSummary::on($db)->with('state'); // With relation `host` because otherwise the filter editor only presents service cols $servicestateSummary = ServicestateSummary::on($db)->with(['state', 'host']); $filterControl = $this->createFilterControl($servicestateSummary); $this->createFilterControl($hoststateSummary); $this->filter($hoststateSummary); $this->filter($servicestateSummary); yield $this->export($hoststateSummary, $servicestateSummary); $this->addControl($filterControl); $this->addContent( (new HostSummaryDonut($hoststateSummary->first())) ->setBaseFilter($this->getFilter()) ); $this->addContent( (new ServiceSummaryDonut($servicestateSummary->first())) ->setBaseFilter($this->getFilter()) ); $this->setAutorefreshInterval(10); } }