Projekt

Obecné

Profil

Stáhnout (1.51 KB) Statistiky
| Větev: | Tag: | Revize:
1
<?php
2

    
3
namespace App\AdminModule\Components;
4

    
5

    
6
use App\Model\Repository\SurfaceTypeRepository;
7
use App\Utils\DataGrid\DataGrid;
8
use Ublaboo\DataGrid\Exception\DataGridException;
9

    
10
class SurfaceTypeGrid extends DataGrid
11
{
12
    /** @var SurfaceTypeRepository */
13
    private $surfaceTypeRepository;
14

    
15
    /**
16
     * SurfaceTypeGrid constructor.
17
     * @param SurfaceTypeRepository $surfaceTypeRepository
18
     */
19
    public function __construct(SurfaceTypeRepository $surfaceTypeRepository)
20
    {
21
        $this->surfaceTypeRepository = $surfaceTypeRepository;
22

    
23
        parent::__construct();
24

    
25
    }
26

    
27

    
28
    public function init()
29
    {
30
        $this->setPrimaryKey(SurfaceTypeRepository::COLUMN_ID);
31
        $this->setDataSource($this->surfaceTypeRepository->findAll()->order(SurfaceTypeRepository::COLUMN_SORTER));
32
    }
33

    
34
    /**
35
     * Definice sloupečků, akcí, vyhledávácích filtrů gridu
36
     *
37
     * @throws DataGridException
38
     */
39
    public function define()
40
    {
41
        $this->addColumnNumber(SurfaceTypeRepository::COLUMN_ID, 'ID')->setDefaultHide(TRUE);
42
        $this->addColumnText(SurfaceTypeRepository::COLUMN_SURFACE_TYPE, 'Surface Type');
43
        $this->addColumnText(SurfaceTypeRepository::COLUMN_SORTER, 'Sort Position');
44

    
45
        $this->addAction('edit', 'upravit', 'Surface:editType', ['id' => SurfaceTypeRepository::COLUMN_ID])
46
            ->setTitle('Edit');
47

    
48
        $this->setDefaultPerPage(20);
49
    }
50
}
51

    
52
interface ISurfaceTypeGridFactory
53
{
54
    /**
55
     * @return SurfaceTypeGrid
56
     */
57
    public function create();
58
}
    (1-1/1)