From 200dd0b8d630b9d85249534269a3fe91e17a1504 Mon Sep 17 00:00:00 2001 From: Simon Vieille Date: Tue, 8 Aug 2023 12:13:28 +0200 Subject: [PATCH] add the option 'display' on BooleanField add displays toggle and checkbox for BooleanField --- src/core/Crud/Field/BooleanField.php | 3 ++ src/core/Resources/assets/css/admin.scss | 5 +++ .../views/admin/crud/field/boolean.html.twig | 33 ++++++++++++++----- 3 files changed, 32 insertions(+), 9 deletions(-) diff --git a/src/core/Crud/Field/BooleanField.php b/src/core/Crud/Field/BooleanField.php index 82833b1..00fd915 100644 --- a/src/core/Crud/Field/BooleanField.php +++ b/src/core/Crud/Field/BooleanField.php @@ -17,9 +17,12 @@ class BooleanField extends Field $resolver->setDefaults([ 'view' => '@Core/admin/crud/field/boolean.html.twig', + 'display' => 'toggle', 'default_value' => false, ]); + $resolver->setAllowedTypes('display', 'string'); + return $resolver; } } diff --git a/src/core/Resources/assets/css/admin.scss b/src/core/Resources/assets/css/admin.scss index ac6c956..cf57221 100644 --- a/src/core/Resources/assets/css/admin.scss +++ b/src/core/Resources/assets/css/admin.scss @@ -694,3 +694,8 @@ form { .tox.tox-silver-sink.tox-tinymce-aux { z-index: 3000 !important; } + +.field-boolean { + color: #49555b; + font-size: 20px; +} diff --git a/src/core/Resources/views/admin/crud/field/boolean.html.twig b/src/core/Resources/views/admin/crud/field/boolean.html.twig index 6b4e69b..de1af9c 100644 --- a/src/core/Resources/views/admin/crud/field/boolean.html.twig +++ b/src/core/Resources/views/admin/crud/field/boolean.html.twig @@ -1,11 +1,26 @@ {%- block value -%} - {% if value|default(options.default_value) %} - - - - {% else %} - - - - {% endif %} + {% set value = value|default(options.default_value) %} + + {% if options.display == 'checkbox' %} + {% block checkbox %} + {% if value %} + + {% else %} + + {% endif %} + {% endblock %} + {% elseif options.display == 'toggle' %} + {% block toggle %} + {% if value %} + + + + {% else %} + + + + {% endif %} + {% block %} + {% endif %} + {%- endblock -%}