Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ jobs:
fail-fast: false
matrix:
include:
- { php: 8.2, symfony: "6.4.*", composer-flags: '--prefer-dist' } # Lowest deps
- { php: 8.3, symfony: "6.4.*", composer-flags: '--prefer-dist' } # LTS with last stable PHP
- { php: 8.3, symfony: "7.1.*", composer-flags: '--prefer-dist' } # Stable Symfony branches
- { php: 8.4, symfony: "7.2.*", composer-flags: '--prefer-dist' } # Stable Symfony branches
- { php: 8.1, symfony: "5.4.*", composer-flags: '--prefer-dist' }
- { php: 8.1, symfony: "6.4.*", composer-flags: '--prefer-dist' }
- { php: 8.2, symfony: "7.4.*", composer-flags: '--prefer-dist' }
- { php: 8.4, symfony: "8.0.*", composer-flags: '--prefer-dist' }

steps:
- name: "Checkout"
Expand Down
11 changes: 5 additions & 6 deletions DependencyInjection/SpiriitFormFilterExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@
use Symfony\Component\Config\FileLocator;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Extension\Extension;
use Symfony\Component\DependencyInjection\Loader;
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;

/**
* This is the class that loads and manages your bundle configuration
Expand All @@ -35,13 +34,13 @@ public function load(array $configs, ContainerBuilder $container): void
$configuration = new Configuration();
$config = $this->processConfiguration($configuration, $configs);

$loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
$loader->load('services.xml');
$loader->load('form.xml');
$loader = new YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
$loader->load('services.yaml');
$loader->load('form.yaml');

foreach ($config['listeners'] as $name => $enable) {
if ($enable) {
$loader->load(sprintf('%s.xml', $name));
$loader->load(sprintf('%s.yaml', $name));
}
}

Expand Down
4 changes: 2 additions & 2 deletions Filter/Condition/ConditionBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ public function root($operator): ConditionNode
{
$operator = strtolower($operator);

if (!in_array($operator, [ConditionNodeInterface::EXPR_AND, ConditionNodeInterface::EXPR_OR])) {
if (!in_array($operator, [ConditionNodeInterface::EXPR_AND, ConditionNodeInterface::EXPR_OR], true)) {
throw new RuntimeException(sprintf('Invalid operator "%s", allowed values: and, or', $operator));
}

$this->root = new ConditionNode($operator, null);
$this->root = new ConditionNode($operator);

return $this->root;
}
Expand Down
30 changes: 0 additions & 30 deletions Resources/config/doctrine_orm.xml

This file was deleted.

26 changes: 26 additions & 0 deletions Resources/config/doctrine_orm.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
parameters:
spiriit_form_filter.get_filter.doctrine_orm.class: Spiriit\Bundle\FormFilterBundle\Event\Subscriber\DoctrineORMSubscriber
spiriit_form_filter.apply_filter.doctrine_orm.class: Spiriit\Bundle\FormFilterBundle\Event\Listener\DoctrineApplyFilterListener
spiriit_form_filter.type.filter_entity.class: Spiriit\Bundle\FormFilterBundle\Filter\Form\Type\EntityFilterType

services:
# Listeners
spiriit_form_filter.get_filter.doctrine_orm:
class: '%spiriit_form_filter.get_filter.doctrine_orm.class%'
tags:
- { name: kernel.event_subscriber }

spiriit_form_filter.apply_filter.doctrine_orm:
class: '%spiriit_form_filter.apply_filter.doctrine_orm.class%'
arguments:
- '%spiriit_form_filter.where_method%'
tags:
- { name: kernel.event_listener, event: spiriit_filter.apply_filters.orm, method: onApplyFilterCondition }

# Specific ORM types
spiriit_form_filter.type.filter_entity:
class: '%spiriit_form_filter.type.filter_entity.class%'
arguments:
- '@doctrine'
tags:
- { name: form.type }
87 changes: 0 additions & 87 deletions Resources/config/form.xml

This file was deleted.

93 changes: 93 additions & 0 deletions Resources/config/form.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
parameters:
# Filter Types
spiriit_form_filter.type.filter_text.class: Spiriit\Bundle\FormFilterBundle\Filter\Form\Type\TextFilterType
spiriit_form_filter.type.filter_number.class: Spiriit\Bundle\FormFilterBundle\Filter\Form\Type\NumberFilterType
spiriit_form_filter.type.filter_number_range.class: Spiriit\Bundle\FormFilterBundle\Filter\Form\Type\NumberRangeFilterType
spiriit_form_filter.type.filter_checkbox.class: Spiriit\Bundle\FormFilterBundle\Filter\Form\Type\CheckboxFilterType
spiriit_form_filter.type.filter_boolean.class: Spiriit\Bundle\FormFilterBundle\Filter\Form\Type\BooleanFilterType
spiriit_form_filter.type.filter_choice.class: Spiriit\Bundle\FormFilterBundle\Filter\Form\Type\ChoiceFilterType
spiriit_form_filter.type.filter_date.class: Spiriit\Bundle\FormFilterBundle\Filter\Form\Type\DateFilterType
spiriit_form_filter.type.filter_date_range.class: Spiriit\Bundle\FormFilterBundle\Filter\Form\Type\DateRangeFilterType
spiriit_form_filter.type.filter_datetime.class: Spiriit\Bundle\FormFilterBundle\Filter\Form\Type\DateTimeFilterType
spiriit_form_filter.type.filter_datetime_range.class: Spiriit\Bundle\FormFilterBundle\Filter\Form\Type\DateTimeRangeFilterType
spiriit_form_filter.type.filter_collection_adapter.class: Spiriit\Bundle\FormFilterBundle\Filter\Form\Type\CollectionAdapterFilterType
spiriit_form_filter.type.filter_sharedable.class: Spiriit\Bundle\FormFilterBundle\Filter\Form\Type\SharedableFilterType
spiriit_form_filter.type.filter_enum.class: Spiriit\Bundle\FormFilterBundle\Filter\Form\Type\EnumFilterType

# Type extension
spiriit_form_filter.type_extension.filter_extension.class: Spiriit\Bundle\FormFilterBundle\Filter\Form\FilterTypeExtension

services:
# Filter Types
spiriit_form_filter.type.filter_text:
class: '%spiriit_form_filter.type.filter_text.class%'
arguments:
- '%spiriit_form_filter.text.condition_pattern%'
tags:
- { name: form.type }

spiriit_form_filter.type.filter_number:
class: '%spiriit_form_filter.type.filter_number.class%'
tags:
- { name: form.type }

spiriit_form_filter.type.filter_number_range:
class: '%spiriit_form_filter.type.filter_number_range.class%'
tags:
- { name: form.type }

spiriit_form_filter.type.filter_checkbox:
class: '%spiriit_form_filter.type.filter_checkbox.class%'
tags:
- { name: form.type }

spiriit_form_filter.type.filter_boolean:
class: '%spiriit_form_filter.type.filter_boolean.class%'
tags:
- { name: form.type }

spiriit_form_filter.type.filter_choice:
class: '%spiriit_form_filter.type.filter_choice.class%'
tags:
- { name: form.type }

spiriit_form_filter.type.filter_date:
class: '%spiriit_form_filter.type.filter_date.class%'
tags:
- { name: form.type }

spiriit_form_filter.type.filter_date_range:
class: '%spiriit_form_filter.type.filter_date_range.class%'
tags:
- { name: form.type }

spiriit_form_filter.type.filter_datetime:
class: '%spiriit_form_filter.type.filter_datetime.class%'
tags:
- { name: form.type }

spiriit_form_filter.type.filter_datetime_range:
class: '%spiriit_form_filter.type.filter_datetime_range.class%'
tags:
- { name: form.type }

spiriit_form_filter.type.filter_collection_adapter:
class: '%spiriit_form_filter.type.filter_collection_adapter.class%'
tags:
- { name: form.type }

spiriit_form_filter.type.filter_sharedable:
class: '%spiriit_form_filter.type.filter_sharedable.class%'
tags:
- { name: form.type }

spiriit_form_filter.type.filter_enum:
class: '%spiriit_form_filter.type.filter_enum.class%'
tags:
- { name: form.type }

# Type extension
spiriit_form_filter.type_extension.filter_extension:
class: '%spiriit_form_filter.type_extension.filter_extension.class%'
tags:
- { name: form.type_extension, extended_type: Symfony\Component\Form\Extension\Core\Type\FormType }
45 changes: 0 additions & 45 deletions Resources/config/services.xml

This file was deleted.

Loading