public static function getForm(): array
{
return [
Tabs::make('Tabs')
->columnSpanFull()
->tabs([
Tabs\Tab::make(label('process.tabs.basic'))
->schema([
Fieldset::make(label('process.fieldsets.basic'))
->schema([
Select::make('application_type')
->live()
->multiple()
->required()
->options(AufbruchSetting::getOptions("application_type"))
->label(label('process.fields.application_type')),
]),
]),
Tabs\Tab::make(label('process.tabs.excavation'))
->visible(function ($record, $get) {
if ($record) {
return $record->excavation !== null;
}
$applicationTypes = $get('application_type') ?? [];
return in_array('Aufbruchgenehmigung', $applicationTypes);
})
->schema([
Fieldset::make(label('process.fieldsets.excavation'))
->relationship('excavation')
->schema(Excavation::getForm())
]),
Tabs\Tab::make(label('process.tabs.warranties'))
->schema([
Repeater::make(label('process.fields.warranties'))
]),
->contained(false)
];
}
public static function getForm(): array
{
return [
Tabs::make('Tabs')
->columnSpanFull()
->tabs([
Tabs\Tab::make(label('process.tabs.basic'))
->schema([
Fieldset::make(label('process.fieldsets.basic'))
->schema([
Select::make('application_type')
->live()
->multiple()
->required()
->options(AufbruchSetting::getOptions("application_type"))
->label(label('process.fields.application_type')),
]),
]),
Tabs\Tab::make(label('process.tabs.excavation'))
->visible(function ($record, $get) {
if ($record) {
return $record->excavation !== null;
}
$applicationTypes = $get('application_type') ?? [];
return in_array('Aufbruchgenehmigung', $applicationTypes);
})
->schema([
Fieldset::make(label('process.fieldsets.excavation'))
->relationship('excavation')
->schema(Excavation::getForm())
]),
Tabs\Tab::make(label('process.tabs.warranties'))
->schema([
Repeater::make(label('process.fields.warranties'))
]),
->contained(false)
];
}