columns([ TextColumn::make('description') ->label(trans('admin/webhook.table.description')), TextColumn::make('endpoint') ->label(trans('admin/webhook.table.endpoint')), ]) ->actions([ ViewAction::make() ->hidden(fn ($record) => static::canEdit($record)), EditAction::make(), DeleteAction::make(), ]) ->groupedBulkActions([ DeleteBulkAction::make(), ]) ->emptyStateIcon('tabler-webhook') ->emptyStateDescription('') ->emptyStateHeading(trans('admin/webhook.no_webhooks')) ->emptyStateActions([ CreateAction::make(), ]); } public static function form(Form $form): Form { return $form ->schema([ TextInput::make('endpoint') ->label(trans('admin/webhook.endpoint')) ->activeUrl() ->required(), TextInput::make('description') ->label(trans('admin/webhook.description')) ->required(), CheckboxList::make('events') ->lazy() ->options(fn () => WebhookConfiguration::filamentCheckboxList()) ->searchable() ->bulkToggleable() ->columns(3) ->columnSpanFull() ->gridDirection('row') ->required(), ]); } public static function getPages(): array { return [ 'index' => Pages\ListWebhookConfigurations::route('/'), 'create' => Pages\CreateWebhookConfiguration::route('/create'), 'view' => Pages\ViewWebhookConfiguration::route('/{record}'), 'edit' => Pages\EditWebhookConfiguration::route('/{record}/edit'), ]; } }