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)