Julien Fastré fe73a64e9d Add possibility to hide empty value in customfield group view rendering
A new parameter is defined :

```
chill_custom_fields:
    show_empty_values_in_views = true|false
```

A new method is added to CustomFieldInterface: `isEmptyValue`. To ease
the dev of new classes, an AbstractCustomField class is created, which
implements the most commons function (currently, only isEmptyValue).

A new Twig Filter is added: `chill_custom_field_is_empty`

The twig filter `chill_custom_fields_group_widget` has a new possibility
in array option : `show_empty`. Default to
chill_custom_fields.show_empty_values_in_view. May be forced by
true/false.
2015-12-15 11:11:36 +01:00

128 lines
4.8 KiB
YAML

parameters:
# cl_custom_fields.example.class: Chill\CustomFieldsBundle\Example
services:
chill.custom_field.provider:
class: Chill\CustomFieldsBundle\Service\CustomFieldProvider
call:
- [setContainer, ["@service_container"]]
chill.custom_field.custom_field_choice_type:
class: Chill\CustomFieldsBundle\Form\CustomFieldType
arguments:
- "@chill.custom_field.provider"
- "@doctrine.orm.entity_manager"
tags:
- { name: 'form.type', alias: 'custom_field_choice' }
chill.custom_field.custom_fields_group_type:
class: Chill\CustomFieldsBundle\Form\CustomFieldsGroupType
arguments:
- %chill_custom_fields.customizables_entities%
- "@translator"
tags:
- { name: 'form.type', alias: 'custom_fields_group' }
chill.custom_field.custom_field_type:
class: Chill\CustomFieldsBundle\Form\Type\CustomFieldType
arguments:
- "@doctrine.orm.entity_manager"
- "@chill.custom_field.provider"
tags:
- { name: 'form.type', alias: 'custom_field' }
chill.custom_field.text:
class: Chill\CustomFieldsBundle\CustomFields\CustomFieldText
arguments:
- "@request_stack"
- "@templating"
- "@chill.main.helper.translatable_string"
tags:
- { name: 'chill.custom_field', type: 'text' }
chill.custom_field.number:
class: Chill\CustomFieldsBundle\CustomFields\CustomFieldNumber
arguments:
- "@templating"
- "@chill.main.helper.translatable_string"
tags:
- { name: 'chill.custom_field', type: 'number' }
chill.form_extension.post_text_integer:
class: Chill\CustomFieldsBundle\Form\Extension\PostTextIntegerExtension
tags:
- { name: form.type_extension, alias: 'integer' }
chill.form_extension.post_text_number:
class: Chill\CustomFieldsBundle\Form\Extension\PostTextNumberExtension
tags:
- { name: form.type_extension, alias: 'number' }
chill.custom_field.choice:
class: Chill\CustomFieldsBundle\CustomFields\CustomFieldChoice
arguments:
- "@request_stack"
- "@translator.default"
- "@templating"
- "@chill.main.helper.translatable_string"
tags:
- { name: 'chill.custom_field', type: 'choice' }
chill.custom_field.custom_fields_group_linked_custom_fields:
class: Chill\CustomFieldsBundle\Form\Type\LinkedCustomFieldsType
arguments:
- "@chill.main.helper.translatable_string"
tags:
- { name: form.type, alias: custom_fields_group_linked_custom_fields }
chill.custom_field.custom_fields_title_type:
class: Chill\CustomFieldsBundle\Form\Type\CustomFieldsTitleType
tags:
- { name: 'form.type', alias: 'custom_field_title' }
chill.custom_field.title:
class: Chill\CustomFieldsBundle\CustomFields\CustomFieldTitle
arguments:
- "@request_stack"
- "@templating"
- "@chill.main.helper.translatable_string"
tags:
- { name: 'chill.custom_field', type: 'title' }
chill.custom_field.helper:
class: Chill\CustomFieldsBundle\Service\CustomFieldsHelper
arguments:
- "@doctrine.orm.entity_manager"
- "@chill.custom_field.provider"
chill.custom_field.twig.custom_fields_rendering:
class: Chill\CustomFieldsBundle\Templating\Twig\CustomFieldRenderingTwig
calls:
- [setContainer, ["@service_container"]]
tags:
- { name: twig.extension }
chill.custom_field.twig.custom_fields_group_rendering:
class: Chill\CustomFieldsBundle\Templating\Twig\CustomFieldsGroupRenderingTwig
calls:
- [setContainer, ["@service_container"]]
arguments:
- "%chill_custom_fields.show_empty_values%"
tags:
- { name: twig.extension }
chill.custom_field.custom_field_long_choice:
class: Chill\CustomFieldsBundle\CustomFields\CustomFieldLongChoice
arguments:
- "@chill.custom_field.custom_field_long_choice_option_repository"
- "@chill.main.helper.translatable_string"
- "@templating"
tags:
- { name: 'chill.custom_field', type: 'long_choice' }
chill.custom_field.custom_field_long_choice_option_repository:
class: Chill\CustomFieldsBundle\EntityRepository\CustomFieldLongChoice\OptionRepository
factory: ["@doctrine", getRepository]
arguments:
- "Chill\CustomFieldsBundle\Entity\CustomFieldLongChoice\Option"