Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

DocumentHeaderSection.php 2.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace App\Filament\Forms\Components;
  3. use Closure;
  4. use Filament\Forms\Components\FileUpload;
  5. use Filament\Forms\Components\Group;
  6. use Filament\Forms\Components\Section;
  7. use Filament\Forms\Components\Split;
  8. use Filament\Forms\Components\TextInput;
  9. class DocumentHeaderSection extends Section
  10. {
  11. protected string | Closure | null $defaultHeader = null;
  12. protected string | Closure | null $defaultSubheader = null;
  13. public function defaultHeader(string | Closure | null $header): static
  14. {
  15. $this->defaultHeader = $header;
  16. return $this;
  17. }
  18. public function defaultSubheader(string | Closure | null $subheader): static
  19. {
  20. $this->defaultSubheader = $subheader;
  21. return $this;
  22. }
  23. protected function setUp(): void
  24. {
  25. parent::setUp();
  26. $this->collapsible();
  27. $this->collapsed();
  28. $this->schema([
  29. Split::make([
  30. Group::make([
  31. FileUpload::make('logo')
  32. ->maxSize(1024)
  33. ->localizeLabel()
  34. ->openable()
  35. ->directory('logos/document')
  36. ->image()
  37. ->imageCropAspectRatio('3:2')
  38. ->panelAspectRatio('3:2')
  39. ->panelLayout('compact')
  40. ->extraAttributes([
  41. 'class' => 'es-file-upload document-logo',
  42. ])
  43. ->loadingIndicatorPosition('left')
  44. ->removeUploadedFileButtonPosition('right'),
  45. ]),
  46. Group::make([
  47. TextInput::make('header')
  48. ->default(fn () => $this->getDefaultHeader()),
  49. TextInput::make('subheader')
  50. ->default(fn () => $this->getDefaultSubheader()),
  51. ])->grow(true),
  52. ])->from('md'),
  53. ]);
  54. }
  55. public function getDefaultHeader(): ?string
  56. {
  57. return $this->evaluate($this->defaultHeader);
  58. }
  59. public function getDefaultSubheader(): ?string
  60. {
  61. return $this->evaluate($this->defaultSubheader);
  62. }
  63. }