Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 2d22b618

Přidáno uživatelem Jan Palcút před téměř 6 roky(ů)

Re #7504 rozdělaná úprava informací o transliteraci

Zobrazit rozdíly:

app/AdminModule/component/Transliteration/TransliterationEditForm.latte
1
<div class="row">
2
    <div class="col-4">
3
        {control form}
4
    </div>
5
</div>
app/AdminModule/component/Transliteration/TransliterationEditForm.php
1
<?php
2

  
3

  
4
namespace App\AdminModule\Components;
5

  
6
use App\Model\Repository\TransliterationRepository;
7
use App\Utils\Form;
8
use Nette\Application\UI\Control;
9

  
10
/**
11
 * Class TransliterationEditForm
12
 * @package App\AdminModule\Components
13
 */
14
class TransliterationEditForm extends Control
15
{
16

  
17
    /**
18
     * @var Form
19
     */
20
    private $form;
21
    /**
22
     * @var int ID transliteration
23
     */
24
    private $transliterationId;
25

  
26
    /**
27
     * @var TransliterationRepository
28
     */
29
    private $transliterationRepository;
30

  
31
    /**
32
     * TransliterationEditForm constructor.
33
     * @param TransliterationRepository $transliterationRepository
34
     */
35
    public function __construct(TransliterationRepository $transliterationRepository)
36
    {
37
        parent::__construct();
38

  
39
        $this->transliterationRepository = $transliterationRepository;
40
        $this->transliterationId = NULL;
41
        $this->form = new Form;
42
    }
43

  
44
    public function render()
45
    {
46
        $this->template->setFile(__DIR__ . '/TransliterationEditForm.latte');
47
        $this->template->render();
48
    }
49

  
50
    public function createComponentForm()
51
    {
52
        $this->form->addText(TransliterationRepository::COLUMN_ID, 'Book Type')
53
            ->addRule(Form::REQUIRED, 'Field %label is required.');
54
        return $this->form;
55
    }
56

  
57
    /**
58
     * Nastavení ID transliterace při editaci
59
     *
60
     * @param int $transliterationId
61
     */
62
    public function setTransliteration(int $transliterationId)
63
    {
64
        $this->transliterationId = $transliterationId;
65
    }
66

  
67
}
68

  
69
interface ITransliterationEditFormFactory{
70

  
71
    /**
72
     * @return TransliterationEditForm
73
     */
74
    public function create();
75

  
76
}
app/AdminModule/component/Transliteration/TransliterationGrid.php
165 165
        // =============
166 166
        // Definice akcí
167 167
        // =============
168
//        $this->addAction('edit', 'edit', 'Transliteration:edit', ['id' => TransliterationRepository::COLUMN_ID])
169
//            ->setTitle('Edit');
168
        $this->addAction('edit', 'edit', 'Transliteration:edit', ['id' => TransliterationRepository::COLUMN_ID])
169
            ->setTitle('Edit');
170 170

  
171 171
        $this->addAction('delete', 'delete', 'deleteTransliteration!', ['id' => TransliterationRepository::COLUMN_ID])
172 172
            ->setConfirm('Do you really want to delete transliteration?')
app/AdminModule/presenters/TransliterationPresenter.php
5 5

  
6 6

  
7 7
use App\AdminModule\Components\ITransliterationGridFactory;
8
use App\AdminModule\Components\ITransliterationEditFormFactory;
8 9
use App\Model\Repository\TransliterationRepository;
9 10

  
10 11
class TransliterationPresenter extends BaseUserPresenter
......
14 15
     */
15 16
    private $transliterationGridFactory;
16 17

  
18
    /**
19
     * @var ITransliterationEditFormFactory
20
     */
21
    private $transliterationEditFormFactory;
22

  
23
    /**
24
     * @var TransliterationRepository
25
     */
26
    private $transliterationRepository;
27

  
17 28
    public function __construct(ITransliterationGridFactory $transliterationGridFactory,
29
                                ITransliterationEditFormFactory $transliterationEditFormFactory,
18 30
                                TransliterationRepository $transliterationRepository)
19 31
    {
20 32
        parent::__construct();
33
        $this->transliterationEditFormFactory = $transliterationEditFormFactory;
21 34
        $this->transliterationGridFactory = $transliterationGridFactory;
35
        $this->transliterationRepository = $transliterationRepository;
22 36
    }
23 37

  
24 38
    /**
......
35 49
        }
36 50
    }
37 51

  
52
    public function actionEdit(int $id)
53
    {
54
        $this['transliterationEditForm']->setTransliteration($id);
55
    }
56

  
38 57
    public function createComponentTransliterationGrid()
39 58
    {
40 59
        return $this->transliterationGridFactory->create();
41 60
    }
61

  
62
    public function createComponentTransliterationEditForm()
63
    {
64
        return $this->transliterationEditFormFactory->create();
65
    }
66

  
42 67
}
app/AdminModule/templates/Transliteration/edit.latte
1
{block content}
2
    {control transliterationEditForm}
3
{/block}
app/config/components.neon
20 20
    - App\AdminModule\Components\IMuseumEditFormFactory
21 21
    - App\AdminModule\Components\IBookTypeEditFormFactory
22 22
    - App\AdminModule\Components\IBookEditFormFactory
23
    - App\AdminModule\Components\ITransliterationEditFormFactory
23 24

  
24 25
    - App\FrontModule\Components\IKeyboard
25 26
    - App\FrontModule\Components\ITransliterationSearchResultListFactory

Také k dispozici: Unified diff