Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

41 lines
1.2KB

  1. <?php
  2. namespace Lc\SovBundle\Field;
  3. use EasyCorp\Bundle\EasyAdminBundle\Contracts\Field\FieldInterface;
  4. use EasyCorp\Bundle\EasyAdminBundle\Field\FieldTrait;
  5. use Lc\SovBundle\Form\Type\FileManagerType;
  6. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  7. use Symfony\Component\Form\Extension\Core\Type\TextType;
  8. /**
  9. * @author La clic ! <contact@laclic.fr>
  10. */
  11. final class StatusField implements FieldInterface
  12. {
  13. use FieldTrait;
  14. public static function new(string $propertyName, ?string $label = null, bool $templateToggle = true): self
  15. {
  16. $field = (new self())
  17. ->setProperty($propertyName)
  18. ->setLabel($label)
  19. ->setFormType(ChoiceType::class)
  20. ->setFormTypeOption('expanded', true)
  21. ->setFormTypeOption('multiple', false)
  22. ->setFormTypeOption('choices', ['En ligne' => 1, 'Hors ligne' => 0])
  23. ->setFormTypeOption('placeholder', false)
  24. ->setCustomOption('toggle_label', 'En ligne');
  25. $template = 'toggle.html.twig';
  26. if (!$templateToggle) {
  27. $template = 'status.html.twig';
  28. }
  29. $field->setTemplatePath('@LcSov/adminlte/crud/field/' . $template);
  30. return $field;
  31. }
  32. }