. */ namespace App\DataTables\Column; use Omines\DataTablesBundle\Column\AbstractColumn; use Symfony\Contracts\Translation\TranslatorInterface; class PrettyBoolColumn extends AbstractColumn { public function __construct(protected TranslatorInterface $translator) { } public function normalize($value): ?bool { if (null === $value) { return null; } return (bool) $value; } public function render($value, $context): string { if ($value === true) { return ' ' . $this->translator->trans('bool.true') . ''; } if ($value === false) { return ' ' . $this->translator->trans('bool.false') . ''; } if ($value === null) { return ' ' . $this->translator->trans('bool.unknown') . ''; } throw new \RuntimeException('Unexpected value!'); } }