You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

HasToggleTableColumnForm.php 1.0KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Filament\Company\Pages\Concerns;
  3. use Filament\Actions\Action;
  4. use Filament\Forms\Form;
  5. use Filament\Support\Enums\ActionSize;
  6. use Filament\Support\Facades\FilamentIcon;
  7. trait HasToggleTableColumnForm
  8. {
  9. protected function getHasToggleTableColumnFormForms(): array
  10. {
  11. return [
  12. 'toggleTableColumnForm' => $this->getToggleTableColumnForm(),
  13. ];
  14. }
  15. public function getToggleTableColumnForm(): Form
  16. {
  17. return $this->toggleTableColumnForm($this->makeForm()
  18. ->statePath('toggledTableColumns'));
  19. }
  20. public function toggleTableColumnForm(Form $form): Form
  21. {
  22. return $form;
  23. }
  24. public function toggleColumnsAction(): Action
  25. {
  26. return Action::make('toggleColumns')
  27. ->label(__('filament-tables::table.actions.toggle_columns.label'))
  28. ->iconButton()
  29. ->size(ActionSize::Large)
  30. ->icon(FilamentIcon::resolve('tables::actions.toggle-columns') ?? 'heroicon-m-view-columns')
  31. ->color('gray');
  32. }
  33. }