*/ class ObjectTable extends ItemTable { use DetailActions; protected function init(): void { parent::init(); $this->initializeDetailActions(); } /** * @param Item $data * * @return ValidHtml * * @throws NotImplementedError When the data is not of the expected type */ protected function createListItem(object $data): ValidHtml { $item = parent::createListItem($data); if ($this->getDetailActionsDisabled()) { return $item; } switch (true) { case $data instanceof Hostgroupsummary: $this->setDetailUrl(Url::fromPath('icingadb/hostgroup')); break; case $data instanceof ServicegroupSummary: $this->setDetailUrl(Url::fromPath('icingadb/servicegroup')); break; default: throw new NotImplementedError('Not implemented'); } $this->addDetailFilterAttribute($item, Filter::equal('name', $data->name)); return $item; } }