diff options
Diffstat (limited to 'src/Wallabag/CoreBundle/Filter/EntryFilterType.php')
-rw-r--r-- | src/Wallabag/CoreBundle/Filter/EntryFilterType.php | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/Wallabag/CoreBundle/Filter/EntryFilterType.php b/src/Wallabag/CoreBundle/Filter/EntryFilterType.php index 2fa2f8a0..d1057fb5 100644 --- a/src/Wallabag/CoreBundle/Filter/EntryFilterType.php +++ b/src/Wallabag/CoreBundle/Filter/EntryFilterType.php | |||
@@ -5,6 +5,8 @@ namespace Wallabag\CoreBundle\Filter; | |||
5 | use Symfony\Component\Form\AbstractType; | 5 | use Symfony\Component\Form\AbstractType; |
6 | use Symfony\Component\Form\FormBuilderInterface; | 6 | use Symfony\Component\Form\FormBuilderInterface; |
7 | use Symfony\Component\OptionsResolver\OptionsResolver; | 7 | use Symfony\Component\OptionsResolver\OptionsResolver; |
8 | use Lexik\Bundle\FormFilterBundle\Filter\FilterOperands; | ||
9 | use Lexik\Bundle\FormFilterBundle\Filter\Query\QueryInterface; | ||
8 | 10 | ||
9 | class EntryFilterType extends AbstractType | 11 | class EntryFilterType extends AbstractType |
10 | { | 12 | { |
@@ -24,7 +26,18 @@ class EntryFilterType extends AbstractType | |||
24 | 'placeholder' => 'dd/mm/yyyy'), | 26 | 'placeholder' => 'dd/mm/yyyy'), |
25 | 'format' => 'dd/MM/yyyy', | 27 | 'format' => 'dd/MM/yyyy', |
26 | 'widget' => 'single_text' | 28 | 'widget' => 'single_text' |
27 | ))); | 29 | ))) |
30 | ->add('domainName', 'filter_text', array( | ||
31 | 'apply_filter' => function (QueryInterface $filterQuery, $field, $values) | ||
32 | { | ||
33 | $value = $values['value']; | ||
34 | if (strlen($value) <= 3 || empty($value)) { | ||
35 | return null; | ||
36 | } | ||
37 | $expression = $filterQuery->getExpr()->like($field, $filterQuery->getExpr()->literal('%'.$value.'%')); | ||
38 | return $filterQuery->createCondition($expression); | ||
39 | } | ||
40 | )); | ||
28 | } | 41 | } |
29 | 42 | ||
30 | public function getName() | 43 | public function getName() |