/
Control.php
60 lines (50 loc) · 1019 Bytes
/
Control.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
namespace Ytnuk\Link;
use Nette;
use Ytnuk;
final class Control
extends Ytnuk\Orm\Control
{
/**
* @var Entity
*/
private $link;
/**
* @var Repository
*/
private $repository;
/**
* @var Control\Factory
*/
private $control;
/**
* @var Form\Control\Factory
*/
private $formControl;
/**
* @var Ytnuk\Orm\Grid\Control\Factory
*/
private $gridControl;
public function __construct(
Entity $link,
Repository $repository,
Control\Factory $control,
Form\Control\Factory $formControl,
Ytnuk\Orm\Grid\Control\Factory $gridControl
) {
parent::__construct($link);
$this->link = $link;
$this->repository = $repository;
$this->control = $control;
$this->formControl = $formControl;
$this->gridControl = $gridControl;
}
protected function createComponentForm() : Form\Control
{
return $this->formControl->create($this->link);
}
protected function createComponentGrid() : Ytnuk\Orm\Grid\Control
{
return $this->gridControl->create($this->repository);
}
}