Webchemistry Form Multiplier – padá po pridaní x prvkov

Aris
Člen | 48
+
0
-

S multiplierom som sa pred časom bavil a došiel som k nasledovnému kódu.

			$copies = 1;
	$maxCopies = 20;
	$multiplier = $form->addMultiplier('multiplier',
		function (Nette\Forms\Container $container, Nette\Forms\Form $form)
		{
			$container->addText('krok');
		}, $copies, $maxCopies);
	$multiplier->addCreateButton('Pridať')
	->addClass('ajax btn btn-primary pull-right m-r-15');
	$multiplier->addRemoveButton('Odstrániť')
	->addClass('ajax btn btn-danger pull-right m-t-5');

Latte

<div n:multiplier="multiplier"  class="m-b-10 col-md-12">
   <input n:name="krok" class="form-control d-inline-block" placeholder="Postup">
   {btnRemove}
</div>
<span>
	{btnCreate multiplier}
</span>

Problémom je, že padne po pridaní 9 kópií s errorom

Component with name 'multiplier_creator' does not exist.

Nastane v latte šablóne.

<?php
872:            $_multiplier = end($this->global->formsStack)["multiplier"];
873:            if (isset($_multiplier->getCreateButtons()[1])) {$_input = $_multiplier->getCreateButtons()[1];
874:                echo $_input->getControl();
875:            }
876:    ?>

Kód webchemistry/Multiplier, tu nastáva error na riadku 466 a 532

/**
461:         * @return Submitter[]
462:         */
463:        public function getCreateButtons() {
464:            $buttons = [];
465:            foreach ($this->createButtons as $button) {
466:                $buttons[$button->getCopyCount()] = $this->getComponent($button->getComponentName());
467:            }
468:
469:            return $buttons;
470:        }
...
529:        public function getComponent($name, $need = true) {
530:            $this->createCopies();
531:
532:            return parent::getComponent($name, $need);
533:        }

Je možné že neberie do úvahy max. počet kópií, alebo je vnútorne obmedzený a nevie číslovať tlačidlá ďalej? Prípadne iné nápady? Ďakujem

Martk
Člen | 661
+
0
-

Jaká je to verze? Zkoušel jsem dev-master a funguje to

Aris
Člen | 48
+
0
-

Mal by som mať najnovšiu verziu z githubu. Sťahoval som to 10.11., odvtedy sa nič ako pozerám nezmenilo. V composer.json mám „webchemistry/forms-multiplier“: „^3.0“

Ďakujem za pomoc :) . Možno bola chyba v cache, premazal som ju, pohral sa s prepísaním 20 na 10, testoval som a znova sa vrátil k 20 a ide to. :)

Editoval Aris (1. 1. 2019 20:14)