Completed
Push — master ( acaf9b...b72548 )
by Song
02:22
created

AbstractDisplayer::getGrid()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Encore\Admin\Grid\Displayers;
4
5
use Encore\Admin\Grid;
6
use Encore\Admin\Grid\Column;
7
8
abstract class AbstractDisplayer
9
{
10
    /**
11
     * @var Grid
12
     */
13
    protected $grid;
14
15
    /**
16
     * @var Column
17
     */
18
    protected $column;
19
20
    /**
21
     * @var \stdClass
22
     */
23
    public $row;
24
25
    /**
26
     * @var mixed
27
     */
28
    protected $value;
29
30
    /**
31
     * Create a new displayer instance.
32
     *
33
     * @param mixed     $value
34
     * @param Grid      $grid
35
     * @param Column    $column
36
     * @param \stdClass $row
37
     */
38
    public function __construct($value, Grid $grid, Column $column, $row)
39
    {
40
        $this->value = $value;
41
        $this->grid = $grid;
42
        $this->column = $column;
43
        $this->row = $row;
44
    }
45
46
    /**
47
     * @return mixed
48
     */
49
    public function getValue()
50
    {
51
        return $this->value;
52
    }
53
54
    /**
55
     * @return Grid
56
     */
57
    public function getGrid()
58
    {
59
        return $this->grid;
60
    }
61
62
    /**
63
     * @return Column
64
     */
65
    public function getColumn()
66
    {
67
        return $this->column;
68
    }
69
70
    /**
71
     * Get key of current row.
72
     *
73
     * @return mixed
74
     */
75
    public function getKey()
76
    {
77
        return $this->row->{$this->grid->getKeyName()};
78
    }
79
80
    /**
81
     * Get url path of current resource.
82
     *
83
     * @return string
84
     */
85
    public function getResource()
86
    {
87
        return $this->grid->resource();
88
    }
89
90
    /**
91
     * Get translation.
92
     *
93
     * @param string $text
94
     *
95
     * @return string|\Symfony\Component\Translation\TranslatorInterface
96
     */
97
    protected function trans($text)
98
    {
99
        return trans("admin.$text");
100
    }
101
102
    /**
103
     * Display method.
104
     *
105
     * @return mixed
106
     */
107
    abstract public function display();
108
}
109