summaryrefslogtreecommitdiffstats
path: root/vendor/ipl/web/src/Control/SearchBar/ValidatedValue.php
blob: 423102dd4c37e35e485ae0b04f6d7228467fadf6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php

namespace ipl\Web\Control\SearchBar;

use ipl\Stdlib\Data;
use ipl\Stdlib\Filter\Condition;

class ValidatedValue extends ValidatedTerm
{
    /**
     * Create a new ValidatedColumn from the given filter condition
     *
     * @param Condition $condition
     *
     * @return static
     */
    public static function fromFilterCondition(Condition $condition)
    {
        return new static($condition->getValue());
    }

    public function toTermData()
    {
        $termData = parent::toTermData();
        $termData['type'] = 'value';

        return $termData;
    }

    public function toMetaData()
    {
        $data = new Data();

        if (! $this->isValid()) {
            $data->set('invalidValueMessage', $this->getMessage())
                ->set('invalidValuePattern', $this->getPattern());
        }

        return $data;
    }
}