Files
panel-pelican-dev/app/Filament/Admin/Resources/MountResource/Pages/EditMount.php

117 lines
4.3 KiB
PHP
Raw Normal View History

2024-03-24 01:48:03 -04:00
<?php
namespace App\Filament\Admin\Resources\MountResource\Pages;
2024-03-24 01:48:03 -04:00
use App\Filament\Admin\Resources\MountResource;
2024-03-24 01:48:03 -04:00
use Filament\Actions;
2024-04-23 19:45:11 -04:00
use Filament\Forms\Components\Group;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\Textarea;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\ToggleButtons;
2024-04-23 19:45:11 -04:00
use Filament\Forms\Form;
use Filament\Resources\Pages\EditRecord;
2024-03-24 01:48:03 -04:00
class EditMount extends EditRecord
{
protected static string $resource = MountResource::class;
2024-04-23 19:45:11 -04:00
public function form(Form $form): Form
{
return $form
->schema([
Section::make()->schema([
TextInput::make('name')
->label(trans('admin/mount.name'))
2024-04-23 19:45:11 -04:00
->required()
->helperText(trans('admin/mount.name_help'))
2024-04-23 19:45:11 -04:00
->maxLength(64),
ToggleButtons::make('read_only')
->label(trans('admin/mount.read_only'))
->helperText(trans('admin/mount.read_only_help'))
2024-04-23 19:45:11 -04:00
->options([
false => trans('admin/mount.toggles.writable'),
true => trans('admin/mount.toggles.read_only'),
2024-04-23 19:45:11 -04:00
])
->icons([
false => 'tabler-writing',
true => 'tabler-writing-off',
])
->colors([
false => 'warning',
true => 'success',
])
->inline()
->default(false)
->required(),
TextInput::make('source')
->label(trans('admin/mount.source'))
2024-04-23 19:45:11 -04:00
->required()
->helperText(trans('admin/mount.source_help'))
->maxLength(255),
TextInput::make('target')
->label(trans('admin/mount.target'))
2024-04-23 19:45:11 -04:00
->required()
->helperText(trans('admin/mount.target_help'))
->maxLength(255),
ToggleButtons::make('user_mountable')
2024-04-23 19:45:11 -04:00
->hidden()
->label('User mountable?')
->options([
false => 'No',
true => 'Yes',
])
->icons([
false => 'tabler-user-cancel',
true => 'tabler-user-bolt',
])
->colors([
false => 'success',
true => 'warning',
])
->default(false)
->inline()
->required(),
Textarea::make('description')
->label(trans('admin/mount.description'))
->helperText(trans('admin/mount.description_help'))
2024-04-23 19:45:11 -04:00
->columnSpanFull(),
])->columnSpan(1)->columns([
'default' => 1,
'lg' => 2,
]),
Group::make()->schema([
Section::make()->schema([
Select::make('eggs')->multiple()
->relationship('eggs', 'name')
->preload(),
Select::make('nodes')->multiple()
->relationship('nodes', 'name')
->searchable(['name', 'fqdn'])
->preload(),
]),
])->columns([
'default' => 1,
'lg' => 2,
]),
])->columns([
'default' => 1,
'lg' => 2,
]);
}
2024-10-19 18:29:44 -04:00
2024-03-24 01:48:03 -04:00
protected function getHeaderActions(): array
{
return [
Actions\DeleteAction::make(),
2024-05-13 19:58:01 -04:00
$this->getSaveFormAction()->formId('form'),
2024-03-24 01:48:03 -04:00
];
}
2024-05-13 19:58:01 -04:00
protected function getFormActions(): array
{
return [];
}
2024-03-24 01:48:03 -04:00
}