Action::getAction()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 8
rs 9.4285
c 0
b 0
f 0
cc 2
eloc 4
nc 2
nop 1
1
<?php
2
3
namespace ZfcDatagrid\Column;
4
5
/**
6
 * Action Column
7
 * IMPORTANT: Will only be shown on HTML renderer.
8
 *
9
 * So Attributes for HTML are valid...
10
 */
11
class Action extends AbstractColumn
12
{
13
    /** @var Action\AbstractAction[] */
14
    private $actions = [];
15
16
    /**
17
     * @param string $uniqueId
18
     */
19
    public function __construct($uniqueId = 'action')
20
    {
21
        $this->setUniqueId($uniqueId);
22
        $this->setLabel('Actions');
23
24
        $this->setUserSortDisabled(true);
25
        $this->setUserFilterDisabled(true);
26
27
        $this->setRowClickDisabled(true);
28
    }
29
30
    /**
31
     * @param Action\AbstractAction $action
32
     */
33
    public function addAction(Action\AbstractAction $action)
34
    {
35
        $this->actions[] = $action;
36
    }
37
38
    /**
39
     * @return Action\AbstractAction[]
40
     */
41
    public function getActions()
42
    {
43
        return $this->actions;
44
    }
45
46
    /**
47
     * @param array|Action\AbstractAction[] $actions
48
     */
49
    public function setActions(array $actions)
50
    {
51
        $this->actions = $actions;
52
    }
53
54
    /**
55
     * @param int $key
56
     *
57
     * @return Action\AbstractAction|null
58
     */
59
    public function getAction($key)
60
    {
61
        if (isset($this->actions[$key])) {
62
            return $this->actions[$key];
63
        }
64
65
        return;
66
    }
67
68
    /**
69
     * @param int $key
70
     */
71
    public function removeAction($key = null)
72
    {
73
        unset($this->actions[$key]);
74
    }
75
76
    /**
77
     *
78
     */
79
    public function clearActions()
80
    {
81
        $this->actions = [];
82
    }
83
}
84