Chyba ve vykreslování formuláře, pokud Groups obsahují BootstrapRows
yosieu opened this issue · comments
Ahoj,
objevil jsem chybu při vykreslování formuláře. Pokud Groups obsahují rows dochází k opakovanému vykreslení řádky a to tak, že se nejprve vykreslí několikrát řádka s inputy (konkrétně = Počet řádek * Počet Buněk * Počet inputů) a až poté se vykreslí Group.
Prozkoumal jsem kód a chyba je prostá. Pro elementy třídy BootstrapRow se nenastavuje RenderOption::_RENDERED na true. Vzhledem k tomu, že je metoda BoostrapRow::setOption označena jako @internal, bude potřeba fixnout metodu BootstrapRow::render a přidat do ní příslušné volání BootstrapRow::setOption(RenderOption::_RENDERED, true).
Zatím si to řeším tak, že jsem si podědil BoostrapRenderer a řeším si to v něm.
Díky za fix.
Příklad:
$row1 = $this->addRow("line1");
$row1->addCell(6)
->addSelect('category', 'Kategorie', $this->category_repository->getIdNameList())
->setHtmlAttribute("class", "selectpicker form-control")
->setHtmlAttribute("title", "Vyberte ...")
->setRequired(true)
->getLabelPrototype()
->setClass('required');
$row1->addCell(6)
->addSelect('edition', 'Ročník', Edition::getList())
->setHtmlAttribute("class", "selectpicker form-control")
->setHtmlAttribute("title", "Vyberte ...")
->setRequired(true)
->getLabelPrototype()
->setClass('required');
$group1 = $this->addGroup('Group 1', false)
->add([$row1]);
??? If U have some issue use English, I do not speak/understand Czech