Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 3eb44ec3

Přidáno uživatelem Filip Jani před téměř 6 roky(ů)

Re #7505 automatické otevření stromu pokud obsahuje hodnoty

Zobrazit rozdíly:

app/AdminModule/component/Transliteration/TransliterationDataEditForm.latte
2 2
    {form form class => 'form'}
3 3
        {foreach $containers as $containerName => $container}
4 4

  
5
            {if isset($defaults[$containerName])}
6
                {var show = ' show'}
7
                {var expanded = 'true'}
8
            {else}
9
                {var show = ''}
10
                {var expanded = 'false'}
11
            {/if}
12

  
5 13
            <div class="card mb-1">
6 14

  
7 15
                <h5 class="mb-0">
8 16
                    <a class="btn btn-link" data-toggle="collapse" data-target="#{$containerName}"
9
                       aria-expanded="false">
17
                       aria-expanded="{$expanded}">
10 18
                        <small>
11 19
                            <span class="fa fa-fw fa-plus"></span>
12 20
                            <span class="fa fa-fw fa-minus"></span>
......
14 22
                    </a>
15 23
                </h5>
16 24

  
17
                <div id="{$containerName}" class="collapse">
25
                <div id="{$containerName}" class="collapse{$show}">
18 26
                    <div class="card-body">
19 27

  
20 28
                        {foreach $container as $multiplierName => $multiplier}
......
22 30
                            {if $multiplierName !== 'title'}
23 31
                                {var name = $containerName . '-' . $multiplierName}
24 32

  
33
                                {if isset($defaults[$containerName][$multiplierName])}
34
                                    {var show = ' show'}
35
                                    {var expanded = 'true'}
36
                                {else}
37
                                    {var show = ''}
38
                                    {var expanded = 'false'}
39
                                {/if}
40

  
25 41
                                <div class="card mb-1">
26 42
                                    <h5 class="mb-0">
27 43
                                        <a class="btn btn-link" data-toggle="collapse" data-target="#{$name}"
28
                                           aria-expanded="false" onclick="return false;">
44
                                           aria-expanded="{$expanded}" onclick="return false;">
29 45
                                            <small>
30 46
                                                <span class="fa fa-fw fa-plus"></span>
31 47
                                                <span class="fa fa-fw fa-minus"></span>
......
33 49
                                        </a>
34 50
                                    </h5>
35 51

  
36
                                    <div id="{$name}" class="collapse">
52
                                    <div id="{$name}" class="collapse{$show}">
37 53
                                        <div class="card-body">
38 54
                                            <div n:multiplier="$name" n:class="row, mb-2">
39 55
                                                <div class="col-5">
app/AdminModule/component/Transliteration/TransliterationDataEditForm.php
21 21
    /** @var array Pole objektů a typu povrch pro strom dat transliterace */
22 22
    private $containers;
23 23

  
24
    private $defaults;
25

  
24 26
    /**
25 27
     * @var ObjectTypeRepository
26 28
     */
......
56 58

  
57 59
            foreach ($surfaceTypes as $surfaceType)
58 60
            {
59
                $containers[$this->transliterationFacade->getInputName($objectType)][$this->transliterationFacade->getInputName($objectType, $surfaceType)] = $surfaceType;
61
                $containers[$this->transliterationFacade->getInputName($objectType)][$this->transliterationFacade->getInputName($surfaceType)] = $surfaceType;
60 62
            }
61 63
        }
62 64

  
......
68 70
        $this->template->setFile(__DIR__ . '/TransliterationDataEditForm.latte');
69 71

  
70 72
        $this->template->containers = $this->containers;
73
        $this->template->defaults = $this->defaults = $this->getDefaults();
71 74

  
72 75
        $this->template->render();
73 76
    }
......
99 102
            }
100 103
        }
101 104

  
102
        $form->setDefaults($this->getDefaults());
105
        $form->setDefaults($this->defaults);
103 106

  
104 107
        $form->onSuccess[] = [$this, 'formSuccess'];
105 108
        $form->addSubmit('submit', 'Save');
app/model/facade/TransliterationFacade.php
82 82
            $objectType = $objectTypes[$surface->{SurfaceRepository::COLUMN_OBJECT_TYPE_ID}];
83 83

  
84 84
            $objectName = $this->getInputName($objectType);
85
            $surfaceName = $this->getInputName($objectType, $surfaceType);
85
            $surfaceName = $this->getInputName($surfaceType);
86 86

  
87 87
            $defaults[$objectName][$surfaceName] = $lineRows;
88 88
        }
......
93 93
    /**
94 94
     * Vrací název inputu pro formulář
95 95
     *
96
     * @param string $container
97 96
     * @param string|NULL $name
98 97
     * @return string
99 98
     */
100
    public function getInputName(string $container, string $name = NULL)
99
    public function getInputName(string $name)
101 100
    {
102
        return str_replace(' ', '', $container) . str_replace(' ', '', $name);
101
        return str_replace(' ', '', $name);
103 102
    }
104 103
}

Také k dispozici: Unified diff