Code Duplication    Length = 73-75 lines in 2 locations

src/Form/Layout/Column.php 1 location

@@ 11-85 (lines=75) @@
8
use Encore\Admin\Form\Field;
9
use Illuminate\Support\Collection;
10
11
class Column
12
{
13
    /**
14
     * @var Collection
15
     */
16
    protected $fields;
17
18
    /**
19
     * @var int
20
     */
21
    protected $width;
22
23
    /**
24
     * Column constructor.
25
     *
26
     * @param int $width
27
     */
28
    public function __construct($width = 12)
29
    {
30
        $this->width = $width;
31
        $this->fields = new Collection();
32
    }
33
34
    /**
35
     * Add a filter to this column.
36
     *
37
     * @param Field $field
38
     */
39
    public function add(Field $field)
40
    {
41
        $this->fields->push($field);
42
    }
43
44
    /**
45
     * Remove fields from column.
46
     *
47
     * @param $fields
48
     */
49
    public function removeFields($fields)
50
    {
51
        $this->fields = $this->fields->reject(function (Field $field) use ($fields) {
52
            return in_array($field->column(), $fields);
53
        });
54
    }
55
56
    /**
57
     * Get all filters in this column.
58
     *
59
     * @return Collection
60
     */
61
    public function fields()
62
    {
63
        return $this->fields;
64
    }
65
66
    /**
67
     * Set column width.
68
     *
69
     * @param int $width
70
     */
71
    public function setWidth($width)
72
    {
73
        $this->width = $width;
74
    }
75
76
    /**
77
     * Get column width.
78
     *
79
     * @return int
80
     */
81
    public function width()
82
    {
83
        return $this->width;
84
    }
85
}
86

src/Grid/Filter/Layout/Column.php 1 location

@@ 8-80 (lines=73) @@
5
use Encore\Admin\Grid\Filter\AbstractFilter;
6
use Illuminate\Support\Collection;
7
8
class Column
9
{
10
    /**
11
     * @var Collection
12
     */
13
    protected $filters;
14
15
    /**
16
     * @var int
17
     */
18
    protected $width;
19
20
    /**
21
     * Column constructor.
22
     *
23
     * @param int $width
24
     */
25
    public function __construct($width = 12)
26
    {
27
        $this->width = $width;
28
        $this->filters = new Collection();
29
    }
30
31
    /**
32
     * Add a filter to this column.
33
     *
34
     * @param AbstractFilter $filter
35
     */
36
    public function addFilter(AbstractFilter $filter)
37
    {
38
        $this->filters->push($filter);
39
    }
40
41
    /**
42
     * Get all filters in this column.
43
     *
44
     * @return Collection
45
     */
46
    public function filters()
47
    {
48
        return $this->filters;
49
    }
50
51
    /**
52
     * Set column width.
53
     *
54
     * @param int $width
55
     */
56
    public function setWidth($width)
57
    {
58
        $this->width = $width;
59
    }
60
61
    /**
62
     * Get column width.
63
     *
64
     * @return int
65
     */
66
    public function width()
67
    {
68
        return $this->width;
69
    }
70
71
    /**
72
     * Remove filter from column by id.
73
     */
74
    public function removeFilterByID($id)
75
    {
76
        $this->filters = $this->filters->reject(function (AbstractFilter $filter) use ($id) {
77
            return $filter->getId() == $id;
78
        });
79
    }
80
}
81