Rozsirenie formulara va komponente, nepreposiela zmenene values

- duskohu
 - Člen | 778
 
Caute, mam komponentu kde mam tovarnicku na formular. Do tejto komponenty
davam dalsie komponenty ktore sahaju na formular a pridaju im dalsie prvky.
Vsetko funguje fajn, akurat ked pouzijem nejake tlacidlo onClick na
redrawControl, tak ak som si zmenil nejake values form. prvku ktory som vytvoril
v rozsirovacej komponente, tak sa mi neprenesu, ostanu tam defaultne values,
formularove prvky ktore som vytvoril v tovarnicke tie prenasaju aj zmenene
values.
Zjednodusene:
Ked si zmenim nejaku hodnotu v title a content a
kliknem reload, tak sa cez $_POST posle len zmenena hodnota
z fieldu title, content ostane default ako bola.
Neviete mi poradit preco sa mi po onClicku neprenesu zmenene values pre
content? Aj ked si dam dumpnut $_POST v onClick[] tak
sa zmenene values pre content neprenasaju, su tam default.
class PostFormControl extends Control{
    protected function attached($presenter)
    {
        if ($presenter instanceof Presenter) {
            $provider = ABProvider();
            $control = $provider->create($this);
            $this->addComponent($control, $control->getGroupName());
        }
        parent::attached($presenter);
    }
    protected function createComponentForm()
    {
        $form = $this->formFactory->create();
        $form->addText("title", "Titulok")->setDefaultValue('default1');
        $form->addSubmit('reload', 'Reload')
            ->setHtmlAttribute('style', 'display:none;')
            ->setValidationScope(false)
            ->onClick[] = function (SubmitButton $button) {
            if ($this->presenter->isAjax()) {
                $this->redrawControl();
            }
        };
        if ($this->postEntity == null) {
            $form->addSubmit(self::SAVE_BUTTON_NAME, 'Uložiť')
                ->onClick[] = array($this, 'processAdd');
        } else {
            $form->addSubmit(self::SAVE_BUTTON_NAME, 'Uložiť')
                ->onClick[] = array($this, 'processEdit');
        }
        return $form;
    }
}
class ABProvider extends Control
{
    public function create(PostFormControl $control)
    {
        $form = $control->getComponent('form');
        $metaContainer = $this->form->addContainer('someContainer');
        $metaContainer->addTextArea("content", "Obsah")->setDefaultValue('default2');
        return $this;
    }
......
}
					Editoval duskohu (11. 7. 2018 17:23)