public static function form(Form $form): Form
{
return $form->schema([
Grid::make(3)->schema([
TextInput::make('name')->required()->label('Name'),
Select::make('contact_id')->required()->searchable()
->options(function () {
return User::role('ContactPerson')->pluck('name', 'id');
}),
DateTimePicker::make('start_time')->required()->prefixIcon('heroicon-m-clock')->format('Y-m-d H:i')->seconds(false),
Textarea::make('description')->columnSpan(3)->nullable(),
Section::make()->schema([
Repeater::make('taskGroups')->relationship('taskGroups')->schema([
Grid::make(6)->schema([
Select::make('worker_id')->columnSpan(1)->relationship('worker', 'name'),
DateTimePicker::make('start_time')
->format('Y-m-d H:i')
->default(function (callable $get) {
return $get('../../start_time');
})->reactive(),
]),
])->columns(1)->deletable(false)->addable(false)->minItems(0)->defaultItems(1)->label('')
]),
]),
]);
}
public static function form(Form $form): Form
{
return $form->schema([
Grid::make(3)->schema([
TextInput::make('name')->required()->label('Name'),
Select::make('contact_id')->required()->searchable()
->options(function () {
return User::role('ContactPerson')->pluck('name', 'id');
}),
DateTimePicker::make('start_time')->required()->prefixIcon('heroicon-m-clock')->format('Y-m-d H:i')->seconds(false),
Textarea::make('description')->columnSpan(3)->nullable(),
Section::make()->schema([
Repeater::make('taskGroups')->relationship('taskGroups')->schema([
Grid::make(6)->schema([
Select::make('worker_id')->columnSpan(1)->relationship('worker', 'name'),
DateTimePicker::make('start_time')
->format('Y-m-d H:i')
->default(function (callable $get) {
return $get('../../start_time');
})->reactive(),
]),
])->columns(1)->deletable(false)->addable(false)->minItems(0)->defaultItems(1)->label('')
]),
]),
]);
}