getAttribute(VisualTestingBaselineInterface::NAME); } protected function getTableColumns(): array { return [ TextColumn::make(VisualTestingBaselineInterface::NAME)->searchable(), BadgeColumn::make('num_screenshots')->label('Screenshots'), TextColumn::make('created_at'), TextColumn::make('updated_at'), ]; } protected function getTableQuery(): Builder|Relation { if (!empty($this->project)) { return VisualTestingBaseline::where(VisualTestingBaselineInterface::PROJECT, $this->project)->selectRaw('JSON_LENGTH(screenshots) AS num_screenshots, name, created_at, updated_at'); } return VisualTestingBaseline::query(); } protected function getTableActions(): array { return [ Action::make('duplicar') ->form([ TextInput::make('name') ]) ->action(function ($record, $data, VisualTestsServiceInterface $visualTestsService) { Filament::notify('success', 'Baselines deleted'); }) ->requiresConfirmation() ]; } public function render() { return view('livewire.visual-testing-baselines'); } }