From b61cdbf32258155dd4c99c9b4148caaadbfcc4e0 Mon Sep 17 00:00:00 2001 From: Simon Vieille Date: Mon, 19 May 2025 12:01:50 +0200 Subject: [PATCH] feat(collection): add delete_attr, add_attr options --- src/core/Form/Type/CollectionType.php | 13 +++++++++++++ .../views/form/bootstrap_4_form_theme.html.twig | 6 ++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/core/Form/Type/CollectionType.php b/src/core/Form/Type/CollectionType.php index 3670c38..5c91d90 100644 --- a/src/core/Form/Type/CollectionType.php +++ b/src/core/Form/Type/CollectionType.php @@ -16,12 +16,23 @@ class CollectionType extends BaseCollectionType { parent::buildView($view, $form, $options); + $classes = [ + 'add_attr' => 'collection-add', + 'delete_attr' => 'text-right', + ]; + + foreach ($classes as $key => $class) { + $options[$key]['class'] = $class.' '.($options[$key]['class'] ?? ''); + } + $view->vars = array_replace($view->vars, [ 'collection_name' => $options['collection_name'], 'label_add' => $options['label_add'], 'label_delete' => $options['label_delete'], 'allow_add' => $options['allow_add'], 'allow_delete' => $options['allow_delete'], + 'add_attr' => $options['add_attr'], + 'delete_attr' => $options['delete_attr'], 'template_before_item' => $options['template_before_item'], 'template_after_item' => $options['template_after_item'], ]); @@ -37,6 +48,8 @@ class CollectionType extends BaseCollectionType 'label_delete' => 'Delete', 'template_before_item' => null, 'template_after_item' => null, + 'add_attr' => [], + 'delete_attr' => [], ]); } diff --git a/src/core/Resources/views/form/bootstrap_4_form_theme.html.twig b/src/core/Resources/views/form/bootstrap_4_form_theme.html.twig index d937d6d..61dd5a3 100644 --- a/src/core/Resources/views/form/bootstrap_4_form_theme.html.twig +++ b/src/core/Resources/views/form/bootstrap_4_form_theme.html.twig @@ -78,6 +78,8 @@ {% block collection_block_widget %} {% set allow_delete = allow_delete|default(false) %} {% set allow_add = allow_add|default(false) %} + {% set add_attr = allow_add|default({}) %} + {% set delete_attr = allow_add|default({}) %}
{% for item in form.value %} @@ -87,7 +89,7 @@ {% endfor %} {% if allow_delete %} -
+
@@ -101,7 +103,7 @@
{% if allow_add %} -
+
{{ label_add|trans }}