'show-more']; protected $tag = 'div'; protected $resultSet; protected $url; protected $label; public function __construct(ResultSet $resultSet, Url $url, string $label = null) { $this->label = $label; $this->resultSet = $resultSet; $this->url = $url; } public function setLabel(string $label): self { $this->label = $label; return $this; } public function getLabel(): string { return $this->label ?: t('Show More'); } public function renderUnwrapped(): string { if ($this->resultSet->hasMore()) { return parent::renderUnwrapped(); } return ''; } protected function assemble() { if ($this->resultSet->hasMore()) { $this->add(new ActionLink($this->getLabel(), $this->url)); } } }