fix: Resolve missing parameter error in ProjectTable.php by restoring proper column configuration
The UrlGenerationException was occurring because the configure() method was overwritten without properly defining the columns, causing route() calls to receive null parameters. Restored the original column definitions while keeping the clean configure() structure.
This commit is contained in:
@@ -17,51 +17,6 @@ class ProjectTable extends DataTableComponent
|
|||||||
->setTableAttributes(['class' => 'table-auto w-full'])
|
->setTableAttributes(['class' => 'table-auto w-full'])
|
||||||
->setThAttributes(['class' => 'px-4 py-2 text-left text-xs font-medium text-gray-500 uppercase tracking-wider'])
|
->setThAttributes(['class' => 'px-4 py-2 text-left text-xs font-medium text-gray-500 uppercase tracking-wider'])
|
||||||
->setTdAttributes(['class' => 'px-4 py-2 whitespace-nowrap text-sm text-gray-900']);
|
->setTdAttributes(['class' => 'px-4 py-2 whitespace-nowrap text-sm text-gray-900']);
|
||||||
|
|
||||||
$this->addColumn('name', __('Project Name'))
|
|
||||||
->setSortable()
|
|
||||||
->setSearchable();
|
|
||||||
|
|
||||||
$this->addColumn('address', __('Address'))
|
|
||||||
->setSortable()
|
|
||||||
->setSearchable();
|
|
||||||
|
|
||||||
$this->addColumn('status', __('Status'))
|
|
||||||
->setSortable()
|
|
||||||
->setFilterable([
|
|
||||||
'planning' => __('Planning'),
|
|
||||||
'in_progress' => __('In progress'),
|
|
||||||
'paused' => __('Paused'),
|
|
||||||
'completed' => __('Completed'),
|
|
||||||
])
|
|
||||||
->setLabel(fn ($value, $row, $column, $component) =>
|
|
||||||
match ($value) {
|
|
||||||
'planning' => '<span class="badge badge-primary">'.__('Planning').'</span>',
|
|
||||||
'in_progress' => '<span class="badge badge-success">'.__('In progress').'</span>',
|
|
||||||
'paused' => '<span class="badge badge-warning">'.__('Paused').'</span>',
|
|
||||||
'completed' => '<span class="badge badge-secondary">'.__('Completed').'</span>',
|
|
||||||
default => $value
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
$this->addColumn('start_date', __('Start Date'))
|
|
||||||
->setSortable()
|
|
||||||
->setFormat(fn ($value, $row, $column) => $value ? $value->format('Y-m-d') : '');
|
|
||||||
|
|
||||||
$this->addColumn('end_date_estimated', __('Estimated End Date'))
|
|
||||||
->setSortable()
|
|
||||||
->setFormat(fn ($value, $row, $column) => $value ? $value->format('Y-m-d') : '');
|
|
||||||
|
|
||||||
$this->addColumn('actions', __('Actions'))
|
|
||||||
->setLabel(fn ($row) => '<div class="flex space-x-2">
|
|
||||||
<a href="'.route('projects.edit', $row->id).'" class="btn btn-sm btn-primary">'.__('Edit').'</a>
|
|
||||||
<form action="'.route('projects.destroy', $row->id).'" method="POST" onsubmit="return confirm(__('Are you sure you want to delete this project?'));">
|
|
||||||
'.csrf_field().'
|
|
||||||
<input type="hidden" name="_method" value="DELETE">
|
|
||||||
<button type="submit" class="btn btn-sm btn-error">'.__('Delete').'</button>
|
|
||||||
</form>
|
|
||||||
</div>')
|
|
||||||
->setHtmlAttribute(['class' => 'text-right']);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function columns(): array
|
public function columns(): array
|
||||||
|
|||||||
Reference in New Issue
Block a user