| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php
- namespace App\Enums;
- use App\Filament\Resources\Pages\Schemas\LayoutForms;
- use App\ViewModels\Pages as ViewModels;
- enum PageLayout: string
- {
- case Default = 'default';
- case FrontPage = 'front_page';
- public function label(): string
- {
- return match($this) {
- self::Default => 'Default',
- self::FrontPage => 'Front Page',
- };
- }
- public function route(): string
- {
- return match($this) {
- self::Default => 'Default',
- self::FrontPage => 'Front Page',
- };
- }
- public function handlerClass(): string
- {
- return match($this) {
- self::Default => '',
- self::FrontPage => '',
- };
- }
- public function formClass(): string
- {
- return match($this) {
- self::Default => '',
- self::FrontPage => '',
- };
- }
- public static function selectOptions(): array
- {
- $options = [];
- foreach (self::cases() as $case) {
- $options[$case->value] = $case->label();
- }
- return $options;
- }
-
- public static function isValid(string $layout): bool
- {
- foreach (self::cases() as $case) {
- if ($case->value === $layout) {
- return true;
- }
- }
- return false;
- }
- }
|