. */ declare(strict_types=1); namespace Fisharebest\Webtrees\Module; use Illuminate\Support\Collection; /** * Trait ModuleTabTrait - default implementation of ModuleTabInterface */ trait ModuleTabTrait { /** @var int The default position for this tab. It can be changed in the control panel. */ protected $tab_order; /** * The text that appears on the tab. * * @return string */ public function tabTitle(): string { return $this->title(); } /** * Users change change the order of tabs using the control panel. * * @param int $tab_order * * @return void */ public function setTabOrder(int $tab_order): void { $this->tab_order = $tab_order; } /** * Users change change the order of tabs using the control panel. * * @return int */ public function getTabOrder(): int { return $this->tab_order ?? $this->defaultTabOrder(); } /** * The default position for this tab. It can be changed in the control panel. * * @return int */ public function defaultTabOrder(): int { return 9999; } /** * This module handles the following facts - so don't show them on the "Facts and events" tab. * * @return Collection * @return string[] */ public function supportedFacts(): Collection { return new Collection([]); } }