Completed
Pull Request — master (#118)
by
unknown
05:41
created

TableCell::getColumn()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 1 Features 0
Metric Value
dl 0
loc 4
c 1
b 1
f 0
rs 10
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
3
namespace Nayjest\Grids\Components;
4
5
use Nayjest\Grids\FieldConfig;
6
7
/**
8
 * Class TableCell
9
 *
10
 * The component for rendering TD html tag inside grid.
11
 *
12
 * @package Nayjest\Grids\Components
13
 */
14
class TableCell extends HtmlTag
15
{
16
    protected $tag_name = 'td';
17
18
    /** @var  FieldConfig */
19
    protected $column;
20
21
    /**
22
     * Constructor.
23
     *
24
     * @param FieldConfig $column
25
     */
26
    public function __construct(FieldConfig $column)
27
    {
28
29
        $this->setColumn($column);
30
    }
31
32
    public function getAttributes()
33
    {
34
        if (empty($this->attributes['class'])) {
35
            $this->attributes['class'] = 'column-' . $this->getColumn()->getName();
36
        }
37
        if ($this->column->isHidden()) {
38
            $this->attributes['style'] = 'display:none;';
39
        }
40
41
        if ($this->column->isHiddenXs()) {
42
            $this->attributes['class'] .= ' hidden-xs';
43
        }
44
45
        if ($this->column->isHiddenSm()) {
46
            $this->attributes['class'] .= ' hidden-sm';
47
        }
48
49
        if ($this->column->isHiddenMd()) {
50
            $this->attributes['class'] .= ' hidden-md';
51
        }
52
53
        if ($this->column->isHiddenLg()) {
54
            $this->attributes['class'] .= ' hidden-lg';
55
        }
56
57
        return $this->attributes;
58
    }
59
60
    /**
61
     * Returns component name.
62
     * By default it's column_{$column_name}
63
     *
64
     * @return string|null
65
     */
66
    public function getName()
67
    {
68
        return $this->name ? : 'column_' . $this->column->getName();
69
    }
70
71
    /**
72
     * Returns associated column.
73
     *
74
     * @return FieldConfig $column
75
     */
76
    public function getColumn()
77
    {
78
        return $this->column;
79
    }
80
81
    /**
82
     * @param FieldConfig $column
83
     * @return $this
84
     */
85
    public function setColumn(FieldConfig $column)
86
    {
87
        $this->column = $column;
88
        return $this;
89
    }
90
}
91