Nespouští se onSuccess v Komponente

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
malkol
Člen | 133
+
0
-

ahoj … mám takový problém, pokud vytvořím formulář tak vše funguje jak má, pokud ale formulář předám do další komponenty, aby dokreslila jestě pár objektů a formulář byl soucasti vetsiho celku .. nezavolá se onSuccess když formulář vytvořím uvnitř Komponenty onSucces se taky nezavolá, zkusil jsem tedy formulář postavit v presenteru a do Komponenty ho jen předat, pokud spustím zakomentovaný řádek, vše funguje, pokud ale form předám do komponenty, najednou přestane fungovat

poradí někdo ? :-)

public function createComponentKorekturaForm(){
        return new Multiplier(function ($idK) {
               return new Multiplier(function ($idS) use ($idK) {
                   $formPoznamka = new Form();

                    $formPoznamka->addTextArea('coment')
                    $formPoznamka->addHidden('idS', $idS);
                    $formPoznamka->addHidden('idK', $idK);
                    $formPoznamka->addSubmit('send','odeslat nazor');
                    $formPoznamka->onSuccess[] = $this->korekturaFormSucceeded;


                    //return $formPoznamka;

                $control = new \KorekturaForm($this,$formPoznamka);
                return $control;

               });
        });
    }

Editoval malkol (1. 5. 2014 17:09)

David Matějka
Moderator | 6445
+
0
-

ten formular musi byt ve stromu komponent – to muzes provest i rucne v KorekturaForm

$this->addComponent($formPoznamka, 'form')

btw, postavyt ⇒ postavit

malkol
Člen | 133
+
0
-

dík .. zkusím .. a tu četinu … no raději nebudu nic říkat … ale moc se mi to nestává .. spíš jsem si to po sobě nepřečetl ;)

malkol
Člen | 133
+
0
-

a co je ten ‚form‘ to je jen jmeno ne ? …

me hlasi laděnka nejsem si jisty co to znamna

The signal receiver component ‚form‘ is not found.

David Matějka
Moderator | 6445
+
0
-

malkol: jo, asi jsem to nenapsal dost srozumitelne – to $this->addComponent volat az v kontextu toho KorekturaForm – tedy aby se to pridalo do stromu pod ten KorekturaForm – takze treba v jeho konstruktoru kdyz prijme ten $formPoznamka

malkol
Člen | 133
+
0
-

že mě to nenapadlo ;) je to celkem logické ;)

malkol
Člen | 133
+
0
-

Component ‚form‘ already has a parent … to je predpokladam ten presenter ze ktereho ho tam posilam ..

David Matějka
Moderator | 6445
+
0
-

divny, ukaz jak vypada ten KorekturaForm

malkol
Člen | 133
+
0
-
 class KorekturaForm extends UI\Control{
    private $form;
    private $context;
     public function __construct($context,$form) {
         $this->form=$form;
         $this->context=$context;
         $this->addComponent($form, 'form');

     }

     public function render(){
...
...
malkol
Člen | 133
+
0
-

nevím proc … ale najednou to začlo fungovat ;) .. dík