striped() ->query(fn (): Builder => Merkmale::where('projekte_id', $this->projekte_id)) ->defaultSort('code') ->columns([ TextColumn::make('name'), ]) ->paginated(false) ->recordActions([ EditAction::make() ->color('gray') ->iconButton() ->schema([ TextInput::make('name') ->required() ->maxLength(255), ]), DeleteAction::make() ->modalHeading('Merkmal löschen') ->color('gray') ->iconButton() ->after(function ($record) { OrientierungZuAbschlaege::where('projekte_id', '=', $record->projekte_id) ->update( [$record->code => 0] ); }), ]) ->headerActions([ Action::make('name') ->icon('phosphor-plus') ->label('Merkmal') ->schema([ TextInput::make('name') ->prefixIcon('phosphor-house-simple'), ]) ->action(function (array $data) { $code = Merkmale::getfreecode($this->projekte_id); if ($code) { $merkmal = new Merkmale; $merkmal->projekte_id = $this->projekte_id; $merkmal->code = $code; $merkmal->name = $data['name']; $merkmal->save(); } }), ]); } }