sonata-project / SonataAdminBundle

The missing Symfony Admin Generator

Home Page:https://docs.sonata-project.org/projects/SonataAdminBundle

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ChoiceFieldMaskType with expanded: true does not work well when icheck is disabled

goetas opened this issue · comments

Subject

The sonata_type_choice_field_mask_widget block in src/Resources/views/Form/form_admin_fields.html.twig (

) assumes that the user has always icheck enabled when the expanded option is true.

When icheck is disabled, the ifChecked event is never triggered.

The block of code

    {% if expanded %}
        {% set js_selector = '#' ~ main_form_name ~ '_' ~ name ~ ' input' %}
        {% set js_event = 'ifChecked' %}
    {% else %}
        {% set js_selector = '#' ~ main_form_name ~ '_' ~ name %}
        {% set js_event = 'change' %}
    {% endif %}

should be something like

    {% if expanded and icheck_enabled %}
        {% set js_selector = '#' ~ main_form_name ~ '_' ~ name ~ ' input' %}
        {% set js_event = 'ifChecked' %}
    {% elseif expanded %}
        {% set js_selector = '#' ~ main_form_name ~ '_' ~ name ~ ' input' %}
        {% set js_event = 'change' %}
    {% else %}
        {% set js_selector = '#' ~ main_form_name ~ '_' ~ name %}
        {% set js_event = 'change' %}
    {% endif %}

(i'm not sure how to get in there the icheck_enabled parameter...)

Hi @goetas, are you ok doing the PR ?

There is

{% set _use_icheck = sonata_config.getOption('use_icheck') %}

somewhere else in the code, so sonata_config.getOption should help you for the check you're looking for.

Here you go #8105