}> $defaultWidgets */ public function __construct( protected string $identifier, protected string $title, protected string $description, protected string $iconIdentifier = 'content-dashboard', protected array $defaultWidgets = [], protected bool $showInWizard = true ) {} public function getIdentifier(): string { return $this->identifier; } public function getIconIdentifier(): string { return $this->iconIdentifier; } public function getTitle(): string { return $this->getLanguageService()->sL($this->title) ?: $this->title; } public function getDescription(): string { return $this->getLanguageService()->sL($this->description) ?: $this->description; } /** * @return list}> */ public function getDefaultWidgets(): array { return $this->defaultWidgets; } public function isShowInWizard(): bool { return $this->showInWizard; } protected function getLanguageService(): LanguageService { return $GLOBALS['LANG']; } public function jsonSerialize(): array { return [ 'identifier' => $this->getIdentifier(), 'title' => $this->getTitle(), 'description' => $this->getDescription(), 'icon' => $this->getIconIdentifier(), 'widgets' => $this->getDefaultWidgets(), 'showInWizard' => $this->isShowInWizard(), ]; } }