service = $service; } public function mount(): void { $this->initTableHeaders(); } private function initTableHeaders(): void { $this->headers = TableHeader::collect([ new TableHeader(key: 'name', label: 'Name',), ], DataCollection::class); } #[Computed] public function getAllProviders() { return $this->service->getAll(); } public function edit(string $providerSlug): void { $this->redirectRoute('apps.connectionProviders.edit', ['slug' => $providerSlug]); } public function delete(): void { $this->attempt( action: function () { $this->service->delete($this->selectedProvider); $this->selectedProvider = ''; } ); } public function showModal(string $providerSlug): void { $this->selectedProvider = $providerSlug; $this->requireConfirmation('delete', description: 'This will delete all the connected apps of this provider.'); } }; ?>