Completed
Push — master ( f2a787...96d856 )
by Vitaliy
03:16
created

SelectFilterConfig::setSize()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 1
eloc 3
c 1
b 0
f 1
nc 1
nop 1
dl 0
loc 6
rs 9.4285
1
<?php
2
3
namespace Nayjest\Grids;
4
5
class SelectFilterConfig extends FilterConfig
6
{
7
    protected $template = '*.select';
8
9
    protected $options = [];
10
11
    protected $is_submitted_on_change = false;
12
13
    protected $size = null;
14
15
    protected $multipleMode = false;
16
17
    /**
18
     * Returns option items of html select tag.
19
     *
20
     * @return array
21
     */
22
    public function getOptions()
23
    {
24
        return $this->options;
25
    }
26
27
    /**
28
     * Sets option items for html select tag.
29
     *
30
     * @param array $options
31
     *
32
     * @return $this
33
     */
34
    public function setOptions(array $options)
35
    {
36
        $this->options = $options;
37
38
        return $this;
39
    }
40
41
    /**
42
     * Returns true if form must be submitted immediately
43
     * when filter value selected.
44
     *
45
     * @return bool
46
     */
47
    public function isSubmittedOnChange()
48
    {
49
        return $this->is_submitted_on_change;
50
    }
51
52
    /**
53
     * Allows to submit form immediately when filter value selected.
54
     *
55
     * @param bool $isSubmittedOnChange
56
     *
57
     * @return $this
58
     */
59
    public function setSubmittedOnChange($isSubmittedOnChange)
60
    {
61
        $this->is_submitted_on_change = $isSubmittedOnChange;
62
63
        return $this;
64
    }
65
66
    /**
67
     * Sets the size of the select element.
68
     *
69
     * @param int $size
70
     *
71
     * @return $this
72
     */
73
    public function setSize($size)
74
    {
75
        $this->size = $size;
76
77
        return $this;
78
    }
79
80
    /**
81
     * Returns the size of the select element.
82
     *
83
     * @return int
84
     */
85
    public function getSize()
86
    {
87
        return $this->size;
88
    }
89
90
    /**
91
     * Enabled multiple mode.
92
     * This will switch the selected operator to IN, as any other operator does not work with multiple selections.
93
     *
94
     * @param $multipleMode
95
     *
96
     * @return $this
97
     */
98
    public function setMultipleMode($multipleMode)
99
    {
100
        $this->multipleMode = $multipleMode;
101
102
        if ($multipleMode) {
103
            $this->operator = FilterConfig::OPERATOR_IN;
104
        }
105
106
        return $this;
107
    }
108
109
    /**
110
     * Returns true if the multiple mode is enabled.
111
     *
112
     * @return bool
113
     */
114
    public function isMultipleMode()
115
    {
116
        return $this->multipleMode;
117
    }
118
}
119