mirror of
https://github.com/pelican-dev/panel.git
synced 2025-06-01 06:28:58 +02:00
allow to customize resource form
This commit is contained in:
parent
2643c1844d
commit
9689eef5e8
@ -8,6 +8,7 @@ use App\Filament\Components\Tables\Columns\DateTimeColumn;
|
|||||||
use App\Models\ApiKey;
|
use App\Models\ApiKey;
|
||||||
use App\Traits\Filament\CanCustomizePages;
|
use App\Traits\Filament\CanCustomizePages;
|
||||||
use App\Traits\Filament\CanCustomizeRelations;
|
use App\Traits\Filament\CanCustomizeRelations;
|
||||||
|
use App\Traits\Filament\CanModifyForm;
|
||||||
use App\Traits\Filament\CanModifyTable;
|
use App\Traits\Filament\CanModifyTable;
|
||||||
use Filament\Forms\Components\Fieldset;
|
use Filament\Forms\Components\Fieldset;
|
||||||
use Filament\Forms\Components\TagsInput;
|
use Filament\Forms\Components\TagsInput;
|
||||||
@ -25,6 +26,7 @@ class ApiKeyResource extends Resource
|
|||||||
{
|
{
|
||||||
use CanCustomizePages;
|
use CanCustomizePages;
|
||||||
use CanCustomizeRelations;
|
use CanCustomizeRelations;
|
||||||
|
use CanModifyForm;
|
||||||
use CanModifyTable;
|
use CanModifyTable;
|
||||||
|
|
||||||
protected static ?string $model = ApiKey::class;
|
protected static ?string $model = ApiKey::class;
|
||||||
@ -99,7 +101,7 @@ class ApiKeyResource extends Resource
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function form(Form $form): Form
|
public static function defaultForm(Form $form): Form
|
||||||
{
|
{
|
||||||
return $form
|
return $form
|
||||||
->schema([
|
->schema([
|
||||||
|
@ -7,6 +7,7 @@ use App\Filament\Admin\Resources\DatabaseHostResource\RelationManagers;
|
|||||||
use App\Models\DatabaseHost;
|
use App\Models\DatabaseHost;
|
||||||
use App\Traits\Filament\CanCustomizePages;
|
use App\Traits\Filament\CanCustomizePages;
|
||||||
use App\Traits\Filament\CanCustomizeRelations;
|
use App\Traits\Filament\CanCustomizeRelations;
|
||||||
|
use App\Traits\Filament\CanModifyForm;
|
||||||
use App\Traits\Filament\CanModifyTable;
|
use App\Traits\Filament\CanModifyTable;
|
||||||
use Filament\Forms\Components\Section;
|
use Filament\Forms\Components\Section;
|
||||||
use Filament\Forms\Components\Select;
|
use Filament\Forms\Components\Select;
|
||||||
@ -26,6 +27,7 @@ class DatabaseHostResource extends Resource
|
|||||||
{
|
{
|
||||||
use CanCustomizePages;
|
use CanCustomizePages;
|
||||||
use CanCustomizeRelations;
|
use CanCustomizeRelations;
|
||||||
|
use CanModifyForm;
|
||||||
use CanModifyTable;
|
use CanModifyTable;
|
||||||
|
|
||||||
protected static ?string $model = DatabaseHost::class;
|
protected static ?string $model = DatabaseHost::class;
|
||||||
@ -97,7 +99,7 @@ class DatabaseHostResource extends Resource
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function form(Form $form): Form
|
public static function defaultForm(Form $form): Form
|
||||||
{
|
{
|
||||||
return $form
|
return $form
|
||||||
->schema([
|
->schema([
|
||||||
|
@ -6,6 +6,7 @@ use App\Filament\Admin\Resources\MountResource\Pages;
|
|||||||
use App\Models\Mount;
|
use App\Models\Mount;
|
||||||
use App\Traits\Filament\CanCustomizePages;
|
use App\Traits\Filament\CanCustomizePages;
|
||||||
use App\Traits\Filament\CanCustomizeRelations;
|
use App\Traits\Filament\CanCustomizeRelations;
|
||||||
|
use App\Traits\Filament\CanModifyForm;
|
||||||
use App\Traits\Filament\CanModifyTable;
|
use App\Traits\Filament\CanModifyTable;
|
||||||
use Filament\Forms\Components\Group;
|
use Filament\Forms\Components\Group;
|
||||||
use Filament\Forms\Components\Section;
|
use Filament\Forms\Components\Section;
|
||||||
@ -27,6 +28,7 @@ class MountResource extends Resource
|
|||||||
{
|
{
|
||||||
use CanCustomizePages;
|
use CanCustomizePages;
|
||||||
use CanCustomizeRelations;
|
use CanCustomizeRelations;
|
||||||
|
use CanModifyForm;
|
||||||
use CanModifyTable;
|
use CanModifyTable;
|
||||||
|
|
||||||
protected static ?string $model = Mount::class;
|
protected static ?string $model = Mount::class;
|
||||||
@ -101,7 +103,7 @@ class MountResource extends Resource
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function form(Form $form): Form
|
public static function defaultForm(Form $form): Form
|
||||||
{
|
{
|
||||||
return $form
|
return $form
|
||||||
->schema([
|
->schema([
|
||||||
|
@ -6,6 +6,7 @@ use App\Filament\Admin\Resources\RoleResource\Pages;
|
|||||||
use App\Models\Role;
|
use App\Models\Role;
|
||||||
use App\Traits\Filament\CanCustomizePages;
|
use App\Traits\Filament\CanCustomizePages;
|
||||||
use App\Traits\Filament\CanCustomizeRelations;
|
use App\Traits\Filament\CanCustomizeRelations;
|
||||||
|
use App\Traits\Filament\CanModifyForm;
|
||||||
use App\Traits\Filament\CanModifyTable;
|
use App\Traits\Filament\CanModifyTable;
|
||||||
use Filament\Forms\Components\Actions\Action;
|
use Filament\Forms\Components\Actions\Action;
|
||||||
use Filament\Forms\Components\CheckboxList;
|
use Filament\Forms\Components\CheckboxList;
|
||||||
@ -31,6 +32,7 @@ class RoleResource extends Resource
|
|||||||
{
|
{
|
||||||
use CanCustomizePages;
|
use CanCustomizePages;
|
||||||
use CanCustomizeRelations;
|
use CanCustomizeRelations;
|
||||||
|
use CanModifyForm;
|
||||||
use CanModifyTable;
|
use CanModifyTable;
|
||||||
|
|
||||||
protected static ?string $model = Role::class;
|
protected static ?string $model = Role::class;
|
||||||
@ -104,7 +106,7 @@ class RoleResource extends Resource
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function form(Form $form): Form
|
public static function defaultForm(Form $form): Form
|
||||||
{
|
{
|
||||||
$permissionSections = [];
|
$permissionSections = [];
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ use App\Models\Role;
|
|||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use App\Traits\Filament\CanCustomizePages;
|
use App\Traits\Filament\CanCustomizePages;
|
||||||
use App\Traits\Filament\CanCustomizeRelations;
|
use App\Traits\Filament\CanCustomizeRelations;
|
||||||
|
use App\Traits\Filament\CanModifyForm;
|
||||||
use App\Traits\Filament\CanModifyTable;
|
use App\Traits\Filament\CanModifyTable;
|
||||||
use Filament\Facades\Filament;
|
use Filament\Facades\Filament;
|
||||||
use Filament\Forms\Components\CheckboxList;
|
use Filament\Forms\Components\CheckboxList;
|
||||||
@ -27,6 +28,7 @@ class UserResource extends Resource
|
|||||||
{
|
{
|
||||||
use CanCustomizePages;
|
use CanCustomizePages;
|
||||||
use CanCustomizeRelations;
|
use CanCustomizeRelations;
|
||||||
|
use CanModifyForm;
|
||||||
use CanModifyTable;
|
use CanModifyTable;
|
||||||
|
|
||||||
protected static ?string $model = User::class;
|
protected static ?string $model = User::class;
|
||||||
@ -106,7 +108,7 @@ class UserResource extends Resource
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function form(Form $form): Form
|
public static function defaultForm(Form $form): Form
|
||||||
{
|
{
|
||||||
return $form
|
return $form
|
||||||
->columns(['default' => 1, 'lg' => 3])
|
->columns(['default' => 1, 'lg' => 3])
|
||||||
|
@ -6,6 +6,7 @@ use App\Filament\Admin\Resources\WebhookResource\Pages;
|
|||||||
use App\Models\WebhookConfiguration;
|
use App\Models\WebhookConfiguration;
|
||||||
use App\Traits\Filament\CanCustomizePages;
|
use App\Traits\Filament\CanCustomizePages;
|
||||||
use App\Traits\Filament\CanCustomizeRelations;
|
use App\Traits\Filament\CanCustomizeRelations;
|
||||||
|
use App\Traits\Filament\CanModifyForm;
|
||||||
use App\Traits\Filament\CanModifyTable;
|
use App\Traits\Filament\CanModifyTable;
|
||||||
use Filament\Forms\Components\CheckboxList;
|
use Filament\Forms\Components\CheckboxList;
|
||||||
use Filament\Forms\Components\TextInput;
|
use Filament\Forms\Components\TextInput;
|
||||||
@ -23,6 +24,7 @@ class WebhookResource extends Resource
|
|||||||
{
|
{
|
||||||
use CanCustomizePages;
|
use CanCustomizePages;
|
||||||
use CanCustomizeRelations;
|
use CanCustomizeRelations;
|
||||||
|
use CanModifyForm;
|
||||||
use CanModifyTable;
|
use CanModifyTable;
|
||||||
|
|
||||||
protected static ?string $model = WebhookConfiguration::class;
|
protected static ?string $model = WebhookConfiguration::class;
|
||||||
@ -82,7 +84,7 @@ class WebhookResource extends Resource
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function form(Form $form): Form
|
public static function defaultForm(Form $form): Form
|
||||||
{
|
{
|
||||||
return $form
|
return $form
|
||||||
->schema([
|
->schema([
|
||||||
|
33
app/Traits/Filament/CanModifyForm.php
Normal file
33
app/Traits/Filament/CanModifyForm.php
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Traits\Filament;
|
||||||
|
|
||||||
|
use Closure;
|
||||||
|
use Filament\Forms\Form;
|
||||||
|
|
||||||
|
trait CanModifyForm
|
||||||
|
{
|
||||||
|
/** @var array<Closure> */
|
||||||
|
protected static array $customFormModifications = [];
|
||||||
|
|
||||||
|
public static function modifyForm(Closure $closure): void
|
||||||
|
{
|
||||||
|
static::$customFormModifications[] = $closure;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function defaultForm(Form $form): Form
|
||||||
|
{
|
||||||
|
return $form;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function form(Form $form): Form
|
||||||
|
{
|
||||||
|
$form = static::defaultForm($form);
|
||||||
|
|
||||||
|
foreach (static::$customFormModifications as $closure) {
|
||||||
|
$form = $closure($form);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $form;
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user