Nette 2.3 Kdyby/replicator

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

Zdravím, pokouším se zprovoznit Kdyby/replicator
Naistaloval jsem ho přes coposer a neon.config jsem pridal:

extensions:
    replicator: Kdyby\Replicator\DI\ReplicatorExtension

Pokusil se o základní formulář:

	protected function createComponentUserForm()
	{
        $form = new Nette\Application\UI\Form;

        // name, factory, default count
        $users = $form->addDynamic('users', function (Container $user) {
            $user->addText('name', 'Name');
            $user->addText('surname', 'surbame');
            $user->addSubmit('remove', 'Remove')
                ->addRemoveOnClick();
        }, 1);

        $users->addSubmit('add', 'Add next person')
            ->addCreateOnClick();

        $form->addSubmit('send', 'Send');

        $form->onSuccess[] = array($this, 'myFormSucceeded');

        return $form;
	}

    public function myFormSucceeded($form)
    {
        foreach ($form['users']->values as $user)
        {
            echo $user['name'];
        }
    }

Jakto že tlačítko Remove funguje (odebere se addDynamic sekce) ale tlačítko Add next person nic nedělá? Jak implementopvat funkci addCreateOnClick aby se přidala další sekce addDynamic?

Díky

David Matějka
Moderator | 6445
+
+2
-

to addCreateOnClick ma prvni parametr allowEmpty, defaultne na FALSE. ten povoluje/zakazuje pridani dalsiho kontejneru, pokud predchozi nejsou vyplneny. to bude mozna tvuj problem