DynamicFormContainer icon indicating copy to clipboard operation
DynamicFormContainer copied to clipboard

Nette addon that allows dynamically add/remove set of items in Form

Dynamic Form Container

Nette addon that allows dynamically add/remove set of items in Form

@author Daniel Robenek @license MIT

class DynamicContainerCore - Base of functionality, allow to create dynamic container, add / remove row class DynamicContainer - Extending DynamicContainerCore, added options for auto-create add and remove buttons class FormMacros - Class created by Jan Marek, but upgraded to better functionality and implements DynamicContainer rendering

Example of DynamicContainer:

  • Presenter *
addDynamicContainer($name); } public function createComponentForm($name) { $form = new AppForm($this, $name); $dynamicContainer = $form->addDynamicContainer("dynamicContainer"); // set button options not neccessery / have to be set befor form attached & factory set $dynamicContainer->setAddButton(true, "Give me new row !", "addButtonOfDynamicContainer"); // set button options not neccessery / have to be set befor form attached & factory set $dynamicContainer->setDeleteButton(true, "I dont wana this !", "removeButtonOfDynamicContainer"); $dynamicContainer->setMinCount(1); // minimum count of rows $dynamicContainer->setMaxCount(5); // maximum count of rows $dynamicContainer->setDefaultCount(2); // default count of rows // set factory which add content to each of container $dynamicContainer->setFactory(function(FormContainer $container) { $container->addText("text", "Input") ->addRule(Form::FILLED, "Input must be fillet !"); $container->addCheckbox("isok", "Is it ok?"); }); return $form; } public function renderDefault() { $this["form"]["dynamicContainer"]->beforeRender(); // needed :( } ?>
  • template (w/o formatting tags) *

Enjoy :)